【问题标题】:How to append content to a txt file如何将内容附加到txt文件
【发布时间】:2012-01-30 07:54:46
【问题描述】:

我在一个 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

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

【问题讨论】:

标签: unix command


【解决方案1】:
sed -i '$s/$/ set value = 9.0.1.3 || set var = 12.4/' FILE

这是就地编辑FILE-i,如果需要备份,请使用-i.BACKUPEXTENSION)。在' 之后的第一个$ 地址最后一行,然后s用您的字符串在行尾替换空的$tring。

如果应该在最后一行之外的其他行上完成,您可以使用行号、正则表达式等来处理 substitute 命令。

【讨论】:

    【解决方案2】:

    默认情况下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
    

    【讨论】:

      猜你喜欢
      • 2020-02-21
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 2021-03-30
      • 1970-01-01
      • 2016-10-14
      相关资源
      最近更新 更多