【发布时间】:2021-02-01 16:35:49
【问题描述】:
我有一堆 tsv 文件,每个文件有 7 列,但我只对第 1 列和第 7 列感兴趣。每个文件的格式为:SampleName.bam.S.txt。
Example: 7805.bam.S.txt 7806.bam.S.txt 7808.bam.S.txt etc...
我尝试了两件事:
1) find . -type f -name '*.S.txt' -exec cut -f 1,7 {} > {}.F \; and
2) for f in '*.S.txt';do cut -f 1,7 "$f" > "$f".F;done
我想要的是我现在的目录
7805.bam.S.txt 7805.bam.S.txt.F 7806.bam.S.txt 7806.bam.S.txt.F 7808.bam.S.txt 7808.bam.S.txt.F etc...
但我只是得到
1) 7805.bam.S.txt 7806.bam.S.txt 7808.bam.S.txt etc... {}.F
2) 7805.bam.S.txt 7806.bam.S.txt 7808.bam.S.txt etc... $f.F
生成的文件在哪里写入了所有输出,但是我怎样才能让每次迭代都生成一个唯一的文件名? 谢谢。
【问题讨论】:
标签: linux loops find filenames cut