【问题标题】:How to concatenate two files and write between them?如何连接两个文件并在它们之间写入?
【发布时间】:2016-02-22 12:18:53
【问题描述】:

我正在尝试使用 bash 脚本来实现这样的目标:

c.txt:

contents of a.txt
###
contents of b.txt

基本上我想在两个文件的内容之间写一个常量字符串并保存到一个新的而不修改原始文件。

这是我能得到的最接近的:

echo "###" >> a.txt|cat b.txt >> out.txt

【问题讨论】:

    标签: bash shell unix terminal


    【解决方案1】:

    使用- 作为文件名通常意味着使用标准输入。因此:

    echo 'something' | cat a.txt - b.txt > new.txt
    

    【讨论】:

      【解决方案2】:

      你可以用三个命令来做到这一点:

      cat a.txt > out.txt
      echo "###" >> out.txt
      cat b.txt >> out.txt
      

      也许可以用它来做一个函数:

      append_hash() { cat $1 > $3; echo "###" >> $3; cat $2 >> $3; }
      

      用法:

      append_hash a.txt b.txt out.txt
      

      【讨论】:

      • 您也可以将它们合二为一:{ cat a.txt; echo "###"; cat b.txt; } > out.txt。这更有效(虽然不是很明显),因为它只需要打开一次out.txt,而不是每个命令一次。
      猜你喜欢
      • 2022-01-13
      • 1970-01-01
      • 2015-08-09
      • 2013-12-27
      • 1970-01-01
      • 2013-06-24
      • 2021-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多