使用文件头粘贴命令

时间:2016-12-11 00:08:41

标签: file unix command paste

我有178个扩展名为_count的文件,我想使用带有文件名称的粘贴命令作为标题,比如说

File1_count

abc
def 
gfh

FILE2_count

ijk
lmn
opq

FILE3_count

 rst
 uvw
 xyz

.... FILE178_count

 123
 456
 789

这样当我这样做的时候 粘贴* _count 我将使用paste命令获取标题为

 FILE1 FILE2  FILE3   ....  FILE178
  abc    ijk    rst            123
  def    lmn    uvw            456
  gfh    opq    xyz            789

2 个答案:

答案 0 :(得分:1)

您将不得不重写(或制作临时副本)以包含fileName作为标题。 for f in FILE* ; do { echo "$f" ; cat $f ; } >$f.tmp && mv $f.tmp $f,然后粘贴您的cmd。我认为file1 file11 file111将是前3列(例如),因此最好先检查一下。您需要将文件重命名为file0001才能获得干净的清单祝您好运。                     –剥壳者

答案 1 :(得分:0)

如果你使用像bash这样支持数组的shell,你可以把你关心的所有文件放在一个文件里,打印出来用标签分隔页头,然后调用paste使用数组中的文件:

files=( *_count )
( IFS=$'\t'; printf "%s\n" "${files[*]%_count}"; paste "${files[@]}" ) > output.tsv