perl語言入門中提到可以利用鑽石操作符<>結合$^I變量對文件進行修改操作,但實際用起來不是十分順手,以下是我認為比較順手的方法。
perl可以利用Tie::File模塊來直接對文件內容進行修改,測試的文檔內容如下:
name = haha
age = 9
sex = male
程序將對age的值進行修改,代碼如下:
1 #!/usr/bin/perl
2 use strict;
3 use 5.010;
4 use Tie::File;
5 tie my @contents, 'Tie::File', './test_file' or die "can't open $!\n";
6 for(@contents){
7 s/(^age\s*=\s*)\d+/${1}90/;
8 }
9 untie @contents;
10 exit 0;
另外可以用一個perl命令行進行相同的操作:
perl -pi -e 's/(^age\s*=\s*)\d/${1}90/' test_file
另外再附上一個sed的操作:
sed -i -n -e 's/\(^age *= *\)[0-9]\+/\190/' test_file
另外最近網站數據庫被爆的挺嚴重的,真心建議大家修改一下自己的密碼。
程序寫累了,冒個泡~~~~