SED语法在两个行号之间插入一个字符串?

时间:2013-01-07 00:10:53

标签: sed

例如,在文本文件/location/file.txt中:

some random text
some more random text
some more random text

我想在第二行之间插入一串单词。

3 个答案:

答案 0 :(得分:1)

两次插入2到3之间(2之后):

sed '2{a\
two words
}' input

要插入1到2之间(2之前):

sed '2{i\
two words
}' input

或者如果您不想换行:

sed '2a\\ttwo words' input

答案 1 :(得分:1)

使用awk:

awk '{print} NR==2{print "here is some extra text after line 2"}' file

如果要覆盖原始文件:

awk '{print} NR==2{print "here is some extra text after line 2"}' file > tmp && mv tmp file

答案 2 :(得分:1)

这将在第二行和第三行之间添加一行“new line here”。

awk 'NR==3{print "new line here"}1' your_file

如果你想在地方使用它 perl的:

perl -pi -e 'print "new line here.\n" if($.==3)' your_file