【发布时间】:2016-08-10 06:08:26
【问题描述】:
我有一组包含制表符分隔值的文件,在最后但第三行,我有我想要的值。我已经用
提取了这个值cat result1.tsv | tail -3 | head -1 > final1.tsv
cat resilt2.tsv | tail -3 | head -1 >final2.tsv
..... 等等(我有将近 30-40 个文件) 我想要一个新的单个文件中下一行的最终 tsv 文件的内容。
我试过了
cat final1.tsv final2.tsv > final.tsv
但这适用于数量有限的文件难以写出所有文件的名称。 我试图将文件名作为变量放在一个循环中,但没有奏效。
final1.tsv 包含:
270 96 284 139 271 331 915 719 591 1679 1751 1490 968 1363 1513 1184 1525 490 839 425 967 855 356
final2.tsv 包含:
1 1 0 2 6 5 1 1 11 7 1 3 4 1 0 3 2 1 0 3 2 1 28
所有文件(final1.tsv,final2.tsv,final3.tsv,final5..... 包含相同数量的列但不同的值) 我希望每个文件的行合并到新文件中,例如
final.tsv
final1 270 96 284 139 271 331 915 719 591 1679 1751 1490 968 1363 1513 1184 1525 490 839 425 967 855 356
final2 1 1 0 2 6 5 1 1 11 7 1 3 4 1 0 3 2 1 0 3 2 1 28
final3 270 96 284 139 271 331 915 719 591 1679 1751 1490 968 1363 1513 1184 1525 490 839 425 967 855 356
final4 1 1 0 2 6 5 1 1 11 7 1 3 4 1 0 3 2 1 0 3 2 1 28
【问题讨论】:
-
result1.tsv等有多大?它们包含多少行? -
resut1.tsv包含大约 1000 行或更多行,但最后但第三行包含我需要的值。我用命令cat result1.tsv | tail -3 | head -1 > final1.tsv提取了那些
标签: bash perl shell csv file-handling