2012-01-30 68 views
0

我在UNIX env和我需要追加下面内容到一个txt文件,而无需启动一个新行: 内容是:如何添加内容到一个txt文件

set value = 9.0.1.3 || set var = 12.4 

txt文件内容是:

echo on 
set name = 'charlie' || 

但是当我使用命令“猫”,我可以追加内容的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 

我应该使用什么命令来达到我的目标是什么?谢谢。

+0

[检查这个] [1] [1]:http://stackoverflow.com/

可以使用下面的命令在文件的结尾去除换行符问题/ 602921/what-unix-command-can-we-use-to-append-some-text-to-specific-line-in-a-file – ndalama 2012-01-30 07:57:51

+0

Thx,非常适合它。 – CharlieShi 2012-01-30 08:01:49

+0

这正是你要找的东西: http://stackoverflow.com/questions/3936738/bash-cat-multiple-files-content-in-to-single-string-without-newlines – Dawood 2012-01-30 08:02:01

回答

0
sed -i '$s/$/ set value = 9.0.1.3 || set var = 12.4/' FILE 

即就地编辑FILE(由-i,如果你需要一个备份,使用-i.BACKUPEXTENSION)。第一个$'处理最后一行后,s用空白$代替行结束处的字符串。

如果它应该比上最后其他线路(S)来完成,你可以用行号,正则表达式等

0

默认cat不把任何新的性格特征线在解决s ubstitute命令文件结尾。如果您已在文件末尾添加了换行符,则会进行连接。

>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