我有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
答案 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