605 字
3 分钟
sed在文件特定行首尾或行前后添加内容
# 在特定行首添加:sed -i '3{s/^/aa/}' a.txt (在第三行行首添加aa,文件名为a.txt)
在特定行尾添加:sed -i '{3/$/aa/}' a.txt(在第三行行尾添加aa,文件名为a.txt)
连续几行行首添加:sed -i '1,2{s/^/bb/}' a.txt(在1-2行行首添加bb)
在连续几行行尾添加:sed -i '1,2{s/$/bb/}' a.txt(在1-2行行尾添加bb)
在特定行,行前添加数据sed -i 'N;2 i 111' c.txt(在第一行行前添加111)
在特定行,行后添加数据sed -i 'N; 2 i 111' c.txt(在第二行行后添加111)# -----------在某行(指具体行号)前或后加一行内容-----------
# 第4行末尾追加一行,内容为testsed -i 'N;4atest' test.txt
# 第4行行首追加一行,内容为testsed -i 'N;4itest' test.txt
# 匹配到test字段的行行首插入一行find . -name test.txtxargs sed -i '/test/i '
# 所有行首增加sed -i 's/^/ABC/' test.txt
# 所有行尾添加sed -i \'s/$/XYZ/\' test.txt
# 第5行添加文件a.txt的内容sed -i '5 r a.txt' test.txt
# oooo行文件a.txt的内容sed -i '/oooo/r a.txt' 5.txt# ------删除-----------------------
# 删除指定行,例如第5行sed -i '5 d' test.txt
# 删除首行sed -i '1d' test.txt
# 删除末行sed -i '$d' test.txt
# 删除空行sed -i '/^$/d' test.txt
# 剔除空格sed -i 's/[ ]*//g' test.txt
# 删除车符sed -i 's/^M//g' test.txt
# 删除指定字段的下一行sed -i '/test/{n;d}' test.txt #匹配到test字段
# 删除指定字段的上一行sed -i -e :a -e '$!N;s/.*n(.*test)/1/;ta' -e 'P;d' test.txt #匹配到test字段在 linux 系统中,我们可以使用 sed 命令在关键字所在的行尾部追加内容。
例如,假设你有一个名为 file.txt 的文件,并且想要在包含 “keyword” 的行尾插入 “new content”。你可以运行以下命令:
sed '/keyword/s/$/ new content/' file.txt这个命令会查找包含 “keyword” 的行,并在这些行的尾部添加 “new content”。
这个命令的工作方式如下:
’/’ 和 ’/’ 之间的 “keyword” 是你正在查找的模式。 s 表示替换操作。 $ 是行尾的表示。 “new content” 就是你要插入的文本。 注意:这个命令只会在屏幕上显示修改后的内容,而不会改变实际的文件。如果你想要将更改保存回文件,你可以使用 -i 选项:
sed -i '/keyword/s/$/ new content/' file.txt以上命令会在包含 ‘keyword’ 的行尾追加 ‘new content’。