插入bash命令的输出作为现有文件的第一行?

时间:2015-01-28 20:19:49

标签: bash sed tabs insert

我在目录中有一个列表文件。我想把所有文件列表放在现有文件的第一行,用tab(“\ t”)值分隔。

      #! /bin/bash
      me=$(ls *_vs_all.txt | sort)
      echo $me
      sed -ie "1i$me" aa.txt

但它正在抛出错误......!

      sed: -e expression #1

如何使用制表符值将输出解析为第一行文件?

例如:

   o/p:
   a_vs_all.txt
   b_vs_all.txt
   c_vs_all.txt
   d_vs_all.txt
   e_vs_all.txt
   f_vs_all.txt

附加到文件

       a_vs_all.txt b_vs_all.txt    c_vs_all.txt    d_vs_all.txt    e_vs_all.txt    f_vs_all.txt

1 个答案:

答案 0 :(得分:2)

ls | tr "\n" "\t"会将ls结果输出到由制表符分隔的单行。

如果要将此行添加到现有文件的头部,请选中this