使用shell命令替换给定行号的文本文件中的完整行

时间:2018-04-02 14:43:56

标签: shell

我需要用新文本字符串替换特定行,尝试了一些但没有成功。

这就是我所做的:

1-使用

获取需要更换的行号
lineNum=$(sed -n '/Old-Line-Text/=' FileName.txt);

2-使用步骤1中的行号使用

替换该行
sed 'Ns/.*/New-Line-Text/' FileName.txt > FileName2.txt;

现在我需要在一个命令中组合这两个命令。尝试某些事情但是无法解决它。

1 个答案:

答案 0 :(得分:1)

最好这样做:

sed '/Old-Line-Text/s/.*/New-Line-Text/' file

但这可以恢复为:

sed 's/.*Old-Line-Text.*/New-Line-Text/' file