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行末尾追加一行,内容为test
sed -i 'N;4atest' test.txt

# 第4行行首追加一行,内容为test
sed -i 'N;4itest' test.txt

# 匹配到test字段的行行首插入一行
find . -name test.txt|xargs 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\'。