带有文件头的粘贴命令

Posted

技术标签:

【中文标题】带有文件头的粘贴命令【英文标题】:paste command with file headers 【发布时间】:2017-04-26 04:28:40 【问题描述】:

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

File1_count

abc
def 
gfh

FILE2_count

ijk
lmn
opq

FILE3_count

 rst
 uvw
 xyz

.... FILE178_count

 123
 456
 789

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

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

【问题讨论】:

您必须重写(或制作临时副本)以包含文件名作为标题。 for f in FILE* ; do echo "$f" ; cat $f ; >$f.tmp && mv $f.tmp $f amd 然后是你的粘贴 cmd。我认为 file1 file11 file111 将是前 3 列(例如),所以最好先检查一下。您需要将文件重命名为 file0001 以获得干净的列表祝您好运。 您还需要这方面的帮助吗?祝你好运。 您好,庇护所有效!虽然由于它不在答案部分,我无法标记它...... 【参考方案1】:

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

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

【讨论】:

回复较晚,但另一个问题被标记为与此问题重复,因此它似乎是一个更好的答案。【参考方案2】:

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

【讨论】:

以上是关于带有文件头的粘贴命令的主要内容,如果未能解决你的问题,请参考以下文章

根据父文件头的大小将大型 CSV 文件拆分为多个文件

没有文件头的txt文件,如何判断是啥编码格式

为啥这个操作PE文件头的代码使用了这么奇怪的偏移值?

如何确定 mp3 文件头的长度?

python-docx:打开文件时出错-“文件头的魔数错误”/“EOFError”

Mybatis的mapper.xml文件也是要加文件头的