0

我有一个关于 Linux 中模式匹配的一般性问题。说,我有一个脚本,我想通过它连续运行许多文件,运行如下:

./script -i file1 -j file2

除了最后两个字符外,我有许多名称相同的文件,例如 file1-1-2.

-没有出现在文件名的任何其他位置,所以我认为应该有一种方法可以使用正则表达式通过脚本传递所有文件对?

4

1 回答 1

1

如果您的文件夹包含所有文件:

$ ls
fileA-1   fileB-1   fileC-1
fileA-2   fileB-2   fileC-2

请执行下列操作:

for file1 in *-1
do
    # This will remove the trailing '1' from the file and append a '2'
    # learn more about parameter substitution at
    # http://tldp.org/LDP/abs/html/parameter-substitution.html
    file2="${file1%1}2"

    #execute!
    ./script -i "$file1" -j "$file2"
done
于 2013-07-30T09:11:58.407 回答