亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2511 | 回復: 3
打印 上一主題 下一主題

一個關(guān)于多個文件內(nèi)容修改得問題,請大家?guī)兔?/a> [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-08-31 23:27 |只看該作者 |倒序瀏覽
實際應用是需要修改某個目錄的每個文件,過去是把文件復制一份,生成.bak,然后讀取備份文件覆蓋源文件,現(xiàn)在的需求是讀的時候直接寫文件
使用IO::File +< file結(jié)果不對
大家有什么好方法嗎?
還有想請教
$fh->autoflush(1)和$|=1是一個作用嗎?
謝謝大家
下面有個簡單的例子
file內(nèi)容就是cat /etc/hosts > file
只是做個測試

#!/usr/bin/env perl
use strict;
use warnings;
use IO::File;

my  $fh = new IO::File "< file";
           if (defined $fh) {
               while (<$fh>){
s/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/192.168.0.0/g;
print ;
}
}

論壇徽章:
0
2 [報告]
發(fā)表于 2011-09-01 00:01 |只看該作者
使用$^I=""
while(<>)可以修改

不過應該還有別的辦法啊
有人知道嗎
?

論壇徽章:
0
3 [報告]
發(fā)表于 2011-09-01 00:14 |只看該作者
# Asking for trouble w/o .bak

perl -i.bak -pe 's/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/192.168.0.0/g' /path/to/files/*

論壇徽章:
0
4 [報告]
發(fā)表于 2011-09-01 13:35 |只看該作者
查到之前有人遇到過這個問題
可以用這個模塊解決
http://search.cpan.org/~mjd/Tie-File-0.96/lib/Tie/File.pm
use Tie::File;
        my $file = "file";
        my @array;
        tie @array, 'Tie::File', $file or die "$!\n";
        for (@array) {
        my $ip = $1 if /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/;
        s/$ip/192.168.0.20/g if $ip;
        }
        untie @array;
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP