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

How to rename multiple files at once using terminal?

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

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

我以前一次对一个文件执行过此操作,但在本例中我可能有 50-100 个文件。

我试过查找诸如“rename”等命令,但我对所有这些都很陌生,所以每个答案都太复杂了,我无法理解。

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

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

提前致谢!

你的问题有点不清楚,但根据我认为你所追求的,你需要一个像这样的循环:

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

(未测试。请进行非破坏性测试...)