我有一堆压缩的数据文件(它们都以#strong; .tagAlign.gz '结尾)。
我想将每个文件的前100,000行移动到一个未压缩的新文件中,并保持每个文件的名称不变。
我以前一次为一个文件做过这个,但在这种情况下我可能有50-100个文件。
我尝试过查找" 重命名"等命令。等等,但我对这一切都很陌生,所以每个答案都太复杂了,我无法遵循。
在我重命名1个文件并移动前100,000行的情况下,这是我在终端中运行的命令:
gzcat nameoffile.fastq.gz | head -n 400000 > nameoffile_100k.fastq
提前致谢!
答案 0 :(得分:1)
你的问题有点不清楚,但是根据我所认为的你想要的东西,你需要一个这样的循环:
for fn in *.gz; do
n=$(basename "$fn" .fastq.gz)
gzcat "$fn" | head -n 100000 > "$n"_100k.fastq
done
(未经测试。请非破坏性地测试......)