【发布时间】:2022-01-01 06:11:06
【问题描述】:
我有两个文件,一个包含多列的大文本文件,格式如下:
Col1 Col2 A B C D G H I L N Q S ...
1 0 1 0 1 0 1 0 1 0 1 0 1 ...
0 2 1 0 0 0 0 0 2 1 2 3 4 ...
...
和一个包含要匹配的列的文本文件
Col1
Col2
Col3
B
D
F
...
(请注意,此文件中的某些行可能与大 tsv 文件中的列标题不匹配)
我想根据与文件中给定的列标题匹配的列标题剪切大文件(忽略列标题或文本文件中不匹配的列标题,因此输出文件列标题以Col1 Col2 B D ...开头)
有没有一种简单的方法可以做到这一点,而不是遍历第二个文本文件中的每一行并使用paste 构建一个文件?
这是在 Mac OS X 上,所以使用 ksh,虽然可以使用纯 bash。
【问题讨论】: