如何在匹配正则表达式的多个文件上运行脚本?

时间:2013-07-30 08:47:51

标签: regex linux bash

我对Linux中的模式匹配有一个普遍的问题。 说,我有一个脚本,我想连续运行许多文件,运行方式如下:

./script -i file1 -j file2

我有许多文件对,除了最后两个字符外,名称相同,例如file1以-1结尾,file2以-2结尾。

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

1 个答案:

答案 0 :(得分: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