查找文件包含在文件夹名称中并跳过它

时间:2014-02-26 10:59:41

标签: loops ffmpeg find

for subdir in */ ; do
cd $subdir
ffmpeg -i mycode

如果文件夹名称包含foo?

,如何排除ffmpeg命令

我使用命令查找,是否正确?

find . -name *foo* -print

但我无法在bash for循环中实现它。

我试过这段代码:

for subdir in */ ; do
foo=$(find -type d -name '*foo*')
if [[ $subdir =~ $foo ] ; then
    echo yes
    ffmpeg -i mycode
else
    echo no
fi
done

2 个答案:

答案 0 :(得分:1)

在$ foo变量的开头和结尾使用*,如下所示:

foo="your_string"
for subdir in */; do
        if [[ "$subdir" == *"$foo"* ]]; then
                echo "$subdir - includes $foo"
        else
                echo "$subdir - does not include $foo"
        fi
done;

答案 1 :(得分:0)

基本上Tadly的版本删除了不必要的引号:

foo="your string"
for subdir in */
do
    if [[ $subdir != *$foo* ]]
    then
        echo ffmpeg -i "$subdir"...
    else
        echo skipping $subdir
    fi
done