如何操作包含文件名中相同字符串的bash中的更多文件?

时间:2016-05-26 12:37:09

标签: bash

我有100个文件名如下文件:

asdf_01, asdf_02, asdf_03, asdf_04, asdf_05, etc. 

dfgh_01, dfgh_02, dfgh_03, dfgh_04, dfgh_05, etc.

我想粘贴具有相同结尾的文件,如下所示:

paste asdf_01 dfgh_01 > pasted_01 

如何对所有文件应用此命令?

2 个答案:

答案 0 :(得分:0)

for i in {00..99}; do
    paste "asdf_$i" "dfgh_$i" > "pasted_$i"
done

答案 1 :(得分:-1)

基本上你可以使用以下的glob表达式:

paste *_01 > pasted_01

要迭代所有可能的值,您需要一个循环:

for suffix in {01..99} ; do
    # Check if there are exactly two files with that suffix
    if [ $(($(find -name "*${suffix}" -printf . | wc -c))) -eq 2 ] ; then
        paste *_"${suffix}" > pasted_"${suffix}"
    fi
done