linux sed,同时插入和追加

标签 linux bash sed

我有一个关于 linux sed 命令的问题。我只想在每一行之前插入一些东西,并在每一行之后附加一些东西。我想同时做这些事情。

例如,假设 file.txt 是这样的:

1
2
3 

我需要输出:

hello
1
world
hello
2 
world
hello 
3
world

所以我认为命令应该是这样的:

cat file.txt | sed 'i\
hello\
a\
world\
'

但结果不对,a 没有被解释为 sed 命令,我是不是需要一些定界符,还是我做错了什么?

最佳答案

你应该去掉“hello”和“world”后面的反斜杠,这样命令就变成了:

cat file.txt | sed 'i\
hello
a\
world 
'

在“hello”之后有一个反斜杠将“hello”连接到“a”,就好像“a”是要插入的另一行。

关于linux sed,同时插入和追加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22101134/

相关文章:

bash - 确定连接是有线还是无线?

linux - 在 Linux 中指定文本限定符和定界符

bash - 使用 sed 更改匹配后的第一次出现

xml - 创建 bash 脚本以将 xml 文件解析为 csv

c - 在子进程发出完成信号后,SIGKILL 将无法停止子进程

linux - Bash 脚本从远程服务器中提取挂起的 Linux 安全更新

bash - Ubuntu为另一个用户设置脉冲音频接收器

python - 如何在bash脚本中激活anaconda环境

c - 通过杀死其父进程而成为孤儿的子进程不会被 init 收养。我该如何解决?

sed -\n\nnd应该怎么做?