Linux命令替换符号 linux命令替换是什么( 二 )


-p自动循环+自动输出,相当于 while() { 脚本; print; }
用法示例:
perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c
将所有C程序中的foo替换成bar,旧文件备份成.bak
perl -p -i -e "s/shan/hua/g" ./lishan.txt ./lishan.txt.bak
将当前文件夹下lishan.txt和lishan.txt.bak中的“shan”都替换为“hua”
perl -i.bak -pe 's/(\d+)/ 1 + $1 /ge' file1 file2
将每个文件中出现的数值都加一
2.sed命令下批量替换文件内容
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 文件名
-i 表示inplace edit , 就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
s表示替换,d表示删除
示例:sed -i "s/shan/hua/g"lishan.txt
把当前目录下lishan.txt里的shan都替换为hua各个Linux详细命令介绍及应用可如下进行查找
Linux命令之sed-替换字符串1. sed -i 's/CANCEL_TIME/CANCEL_RECV_TIME/g' csv2drds-TF_B_PAYLOG_D.json
---指定文件替换 , 将文件中的CANCEL_TIME替换成CANCEL_RECV_TIME;
2. sed -i 's/CANCEL_TIME/CANCEL_RECV_TIME/g' `grepCANCEL_TIME -rl ./*TF_B_PAYLOG_D*.json`
---批量文件替换,递归查找含CANCEL_TIME的文件,将所有文件中的CANCEL_TIME替换成CANCEL_RECV_TIME;
3. sed -i 's/\/tmp\/ditagent\/TF_B_PAYLOG_D.csv/\/vdata\/datapre\/281\/'"$filename"'/g' $jsonname
---带/的字符串替换,将/tmp/ditagent/TF_B_PAYLOG_D.csv替换成/vdata/datapre/281/'"$filename"'
4. sed -i 's/^/beginstring/g' *.txt
---在所有行首添加字符串;
5.sed -i 's/$/endstring/g' *.txt
---在所有行末添加字符串
6. sed -i '2s/原字符串/替换字符串/g' *.txt
---替换第2行
7. sed -i '$s/原字符串/替换字符串/g' *.txt
---替换最后一行
8. sed -i'2,5s/原字符串/替换字符串/g' *.txt
---替换2到5行
9. sed -i'2,$s/原字符串/替换字符串/g' *.txt
---替换2到最后一行
10. sed's/\x80/|/g'test.dat |iconv -f gbk -t utf-8testutf8.dat
---把test.dat中的欧元符号替换成竖线,再将文件gbk格式转成utf8
-i选项是直接在文件中替换,不在终端输出;
-r选项是所给的path中的目录递归查找;
-l选项是输出所有匹配到oldstring的文件;
s/表示替换
/g表示全局替换
linux 中如何用vi编辑器替换相同的字符?1)单字符替换:在命令模式下使光标位于要替换的字符,按r,再按需要的字符;
2)取代字符串:在命令模式下
$s/string/replae/g
会将全文的string字符串取代为replace字符串,其中1,$s就是指搜寻区间为文章从头至尾的意思 , g则是表示全部取代不必确认 。
%s/string/replace/c:同样会将全文的string字符串取代为replace字符串,和上面指令不同的地方是,%s和1,$s是相同的功能,c则是表示要替代之前必须再次确认是否取代 。
1,20s/string/replace/g:将1至20行间的string替代为relpace字符串 。
Linux命令替换符号的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于linux命令替换是什么、Linux命令替换符号的信息别忘了在本站进行查找喔 。

推荐阅读