我想在文件的第 n 行之间插入一个管道符号。就像 diff 命令输出中的那个。
不想用VI编辑器。
例如,所需行是文件的第 2 行:
cat filename
Hi Hi
Hello Hello
This This
is Is
it it
期望的输出:
猫文件名
Hi Hi
Hello | Hello
This This
is Is
it it
最佳答案
为了您自己的理智,请使用 awk:
$ awk 'NR==2{mid=length($0)/2; $0=substr($0,1,mid) "|" substr($0,mid+1)} 1' file
Hi Hi
Hello | Hello
This This
is Is
it it
要修改原始文件,您可以添加 > tmp && mv tmp file
或使用 -i inplace
如果您有 GNU awk。
关于linux - 如何在第 n 行文件的中间插入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27923948/