我想插入文本行,让“hello”到文件的第3行。并且应该添加一个新行:
1st
2nd
Hello
3rd
我该怎么做?
答案 0 :(得分:2)
使用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
是行号。您可以将其设置为您要插入文本的任何数字。
答案 1 :(得分:1)
它必须是sed吗?
head -2 infile ; echo Hello ; echo ; tail +3 infile
答案 2 :(得分:1)
$ sed '3s/^/Hello\n\n/' file.txt
1st
2nd
Hello
3rd
3
命令开头的sed
指定该命令应仅应用于第3行。因此,命令3s/^/Hello\n\n/
在“Hello”中替换,并且在第3行的开头(^
匹配行的开头)有两个新行。否则,文件保持不变。
答案 3 :(得分:0)
sed '3 i\
Hello\
' YopurFile
在第3行插入以下行(前面有\
)