先看一个命令行:
cp /etc/passwd ./123.txt
perl -i.bak -w -p -e 's/(root)/\U$1/g' ./123.txt
这样会把 123.txt 中的所有'root'变成'ROOT'
其中-i 参数是用来指定备份文件的后缀名的,perl在变更root之前,先把123.txt 备份到123.txt.bak中,然后再更改123.txt中的'root' , 在perl脚本中有一个变量那就是 $^I 和这里的-i 是同样的性质。
-w 就是warning 的意思,打开警告;
-p 其实就是把所有行都打印出来,等同于下面的perl代码:
while (<>) {
print;
}
-e 参数非常关键,这是在命令行下使用perl的通行证,只有使用了-e 后面才可以跟perl代码,后面用单引号括起来。
cp /etc/passwd ./123.txt
perl -i.bak -w -p -e 's/(root)/\U$1/g' ./123.txt
这样会把 123.txt 中的所有'root'变成'ROOT'
其中-i 参数是用来指定备份文件的后缀名的,perl在变更root之前,先把123.txt 备份到123.txt.bak中,然后再更改123.txt中的'root' , 在perl脚本中有一个变量那就是 $^I 和这里的-i 是同样的性质。
-w 就是warning 的意思,打开警告;
-p 其实就是把所有行都打印出来,等同于下面的perl代码:
while (<>) {
print;
}
-e 参数非常关键,这是在命令行下使用perl的通行证,只有使用了-e 后面才可以跟perl代码,后面用单引号括起来。
编辑回复