如何使用终端一次重命名多个文件?

时间:2018-03-26 21:55:33

标签: bash macos terminal file-rename

我有一堆压缩的数据文件(它们都以#strong; .tagAlign.gz '结尾)。

我想将每个文件的前100,000行移动到一个未压缩的新文件中,并保持每个文件的名称不变。

我以前一次为一个文件做过这个,但在这种情况下我可能有50-100个文件。

我尝试过查找" 重命名"等命令。等等,但我对这一切都很陌生,所以每个答案都太复杂了,我无法遵循。

在我重命名1个文件并移动前100,000行的情况下,这是我在终端中运行的命令:

gzcat nameoffile.fastq.gz | head -n 400000 > nameoffile_100k.fastq 

提前致谢!

1 个答案:

答案 0 :(得分:1)

你的问题有点不清楚,但是根据我所认为的你想要的东西,你需要一个这样的循环:

for fn in *.gz; do
    n=$(basename "$fn" .fastq.gz) 
    gzcat "$fn" | head -n 100000 > "$n"_100k.fastq
done    

(未经测试。请非破坏性地测试......)