如何使用 sed 从特定行号开始读取文件并替换值并输出到新文件

如何使用 sed 从特定行号开始读取文件并替换值并输出到新文件

我有一个文件,我想读取从第 426 行开始到第 2372 行结束的文件。在这些行中,我想, ,用新行字符替换并将其输出到新文件。

我已经尝试过以下方法:

sed -n '426,2372p' input.txt > $tmpSrcFile

它可以抓取该部分并输出它,但是当我添加替换时我无法让它工作:

sed -n '426,2372ps/:, ,:/\n/g' input.txt > $tmpSrcFile 

答案1

对于给定的输入文件:

1,
2,
3,
4,
5,

sed调用似乎仅在行范围内替换和打印:

$ sed -n '3,4{s/,/^/gp}' input; printf "END\n"
3^
4^
END

即使替换是换行符:

$ sed -n '3,4{s/,/\n/gp}' input; printf "END\n"
3

4

END

相关内容