需要用bash覆盖配置文件中的特定行

时间:2017-01-18 09:54:22

标签: bash

我需要覆盖配置文件中的特定行。 没有打印/回声,否则只是覆盖文件。

例如我有文件:

$ echo test.file
$ line1
$ line2
$ line3
$ line4

我想将第2行覆盖为line7090:

$ echo test.file
$ line1
$ line7090
$ line3
$ line4

感谢帮助, 亚历

1 个答案:

答案 0 :(得分:1)

您可以使用sed选项-i

sed -i '2s/^.*$/line7090/' file

或者,不使用正则表达式

sed -i -n '2!p;2iline7090' file

gawk选项-i inplace

awk -i inplace 'NR==2{print "line7090"; next}1' file

你进入file

line1
line7090
line3
line4