我在unix环境中,我需要将以下内容附加到txt文件,而不是从新行开始: 内容是:
set value = 9.0.1.3 || set var = 12.4
txt文件内容为:
echo on
set name = 'charlie' ||
但是当我使用命令'cat'时,我可以将内容附加到txt文件,但内容将从新行开始,如下所示:
echo on
set name = 'charlie' ||
set value = 9.0.1.3 || set var = 12.4
好吧,我的目标是得到这样的结果:
echo on
set name = 'charlie' || set value = 9.0.1.3 || set var = 12.4
我应该使用什么命令来达到目标? THX。
答案 0 :(得分:0)
sed -i '$s/$/ set value = 9.0.1.3 || set var = 12.4/' FILE
即位编辑FILE
(按-i
,如果您需要备份,请使用-i.BACKUPEXTENSION
)。 $
解决最后一行后的第'
位,然后s
用您的字符串替换该行末尾的空$
tring。
如果它应该在除了最后一行之外的其他行上完成,你可以使用行号,正则表达式等来解决s
ubstitute命令。
答案 1 :(得分:0)
默认情况下,cat
未在文件末尾添加任何新的行标识。如果你已经在文件末尾有一个换行符,那么它将被连同。
>echo "TTTT\c">test1
>echo "GGGG\c">test2
>cat test1 test2
TTTTGGGG>
请删除文件末尾的换行符,然后运行cat
命令。
您可以使用以下命令删除文件末尾的换行符:
awk 'BEGIN{flag=0}{if(flag==1)print a;flag=1;a=$0}END{printf("%s",a)}' FILE_NAME >FILE_NAME