将文本附加到第 n 行末尾而不创建换行符

将文本附加到第 n 行末尾而不创建换行符

我有一个文件A.txt,当我尝试将文本附加到第 N 行末尾时它通过创建新行进行打印,是否有任何命令可以在同一行中打印而不创建换行符?

A.txt

hi all       
how r u  
hows going

我想要一个字符串到第 N 行本例中为第 2 行)

hi all   
how r u friend   
hows going

当我尝试在谷歌中输入命令时,它如下所示

$ cat a.txt
hi all  
how r u   
friend   
hows going

答案1

sed你可以使用as 来做到这一点

sed '2s/.*/& friend/' a.txt

2s表示您要替换第 2 行。 .*will capture the full line while &will打印该行后跟新文本。

如果您想同时更新文件,可以使用-i带有 的选项sed

答案2

awk:

awk 'NR==2{ $0=$0 " friend" }1' infile >output

NR==2表示输入的第二行,$0表示当前输入行,1最后输出当前输入行及其是否进行任何更改。

相关内容