常见的多文本处理方法

常见的多文本处理方法

本文记录下常见的一些多文本字符串处理的操作方法,包括有以下方法:

  • 替换字符串
  • 插入字符串

替换字符串

1
sed -i 's/被替换的字符串/替换字符串/g' 文件名

案例

1
sed -i 's#\(blog\)\(/raw/master/\)\(img\)\(/.*\)\{1\}\(\.png\|\.jpg\)#resource\2webpimg\4\.webp#g' ./*

上面这个替换用到正则表达式,前面被替换的字符串分了四个组。

替换字符串取把1分组改为resource,加上第2分组,第3分组改成webpimg,加上.webp

插入字符串

1
2
3
4
5
6
sed -i "作用范围行 插入行前i/行后a 插入内容" 文件名

例如:
sed -i "1 i author:hansen" test.txt
在文件test.txt第一行前面加上author:hansen;注意,如果文件一行文本都没有,这句命令不起作用。
sed -i "1 a author:hansen" test.txt

最常用的就是在第几行插入文本:

1
2
sed -i "ni 插入内容" *
# 在当前文件夹下的所有文件中第n行插入文本

一个文件插入另外一个文件内容

知道插入到哪个行号

1
2
 #在testa.txt的第10行插入文件testb.txt
sed -i ‘10 r testb.txt’ testa.txt

如果不改变源文件,可以去掉-i开关,修改会输出到 stdout

不知道行号

1
2
sed -i '/regex/ r testb.txt' testa.txt # regex是正则表达式
sed -i "$a r testb.txt" testa.txt


关注博客或微信搜索公众号多媒体与图形,获取更多内容,欢迎在公众号留言交流!
扫一扫关注公众号
作者

占航

发布于

2021-11-07

更新于

2023-10-04

许可协议

评论