簡體   English   中英

Linux:如何根據文件名連接多個文件列表?

[英]Linux: How to concatenate several lists of files according to file name?

我有幾百個文件的列表,這些文件大約屬於20個組:

file_1_1
file_2_1
file_3_1
...
file_22_2
file_23_2
...
file_900_20
file_901_20
...

每個組中的文件數(最后一個數)是靈活的。 在連接之前,按第一個數字對文件進行排序也很重要。 謝謝你的幫助!

使用循環將具有相同后綴的文件連接到組合文件中:

for i in {1..20}
do
    cat file_*_$i > combined_$i
done

這可以做的工作

dir="./manyfiles"
export LC_ALL=C
while read num group
do
    cat $dir/*_${num}_${group} >> combined_${group}
done < <(find $dir -maxdepth 1 -name \*_*_* -print | awk -F_ '{print $(NF-1)," ",$NF}' | sort -k2,2n -k1,1n)

我希望比正確理解您的需求...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM