关于bash:如何在循环中定位目录中的特定文件?

How can I locate a specific file in a directory within a loop?

我无法指向包含另一个目录中另一个文件字符串的特定文件。

如果您看到下面的命令,假设我在/a中有一个abc.foo文件,我需要使用abc_extendedname1.jpeg应用一个函数,它在/b中。

1
2
3
4
5
6
for file in ./A/*;

do echo $file;
function $file -opt ./B/${file%.foo}_extendedname1.jpeg ./B/${file%.foo}_extendedname2.jpeg;

done

任何帮助都将不胜感激!


1
2
3
4
5
6
7
8
for file in ./A/*; do
  basename=${file##*/}
  basename_noext=${basename%.*}
  echo"$file"
  your_function"$file" -out \
   "./B/${basename_noext}_extendedname1.jpeg" \
   "./B/${basename_noext}_extendedname2.jpeg"
done


尝试

1
2
3
4
5
6
7
8
9
export d="`pwd`"
find ./A/*|while read file
do
    echo"$file"
    if [ -f "$d/B/${file}_extendedname1.jpeg" ]
    then
        echo"$d/B/${file}_extendedname1.jpeg" found
    fi
done