我有一个文件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
最后输出当前输入行及其是否进行任何更改。