我想插入一个文本行,让我们对文件的第三行说"hello“。并且应该有一个新的附加行:
1st
2nd
Hello
3rd
我该怎么做呢?
发布于 2014-02-28 09:52:12
使用awk
非常简单
$ cat file
1
2
3
4
5
6
$ awk 'NR==3{print "hello\n"}1' file
1
2
hello
3
4
5
6
其中NR
是行号。您可以将其设置为任何想要插入文本的数字。
发布于 2014-02-28 08:55:47
它必须是sed的吗?
head -2 infile ; echo Hello ; echo ; tail +3 infile
发布于 2014-02-28 08:56:19
$ sed '3s/^/Hello\n\n/' file.txt
1st
2nd
Hello
3rd
sed
命令开头的3
指定该命令应仅应用于第3行。因此,命令3s/^/Hello\n\n/
将替换为"Hello“,并在第3行的开头(^
匹配一行的开头)添加两个新行。否则,文件将保持不变。
https://stackoverflow.com/questions/22084016
复制相似问题