文件合并 - 相同名称,不同扩展名

文件合并 - 相同名称,不同扩展名

如何将具有相同名称但扩展名不同的不同输入 .txt 和 .tsv 文件(在目录内)合并到输出文件中?


输入:file1.txtfile2.txtfile1.tsvfile2.tsv

输出:file1.mergedfile2.merged

答案1

zsh

ext='(txt|tsv|text|log)'
for f (**/*.$~ext(.)) cat < $f >> $f:t:r.merged

同一目录中的合并顺序将按字母顺序排列。也就是说,a/file.txt将包含在 beforeb/file.txta/file.logbefore 之前a/file.txt

另请注意,隐藏文件(名称以 开头的文件.)不会被考虑(D如果需要,请添加 glob 限定符)。

答案2

cat file1.* > file1.merged

cat file2.* > file2.merged

相关内容