在文件夹名称中查找文本硬币并跳过它


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

如果文件夹名称包含 foo,如何排除 ffmpeg 命令?

我使用命令查找,正确吗?

find . -name *foo* -print

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

我尝试了以下代码:

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

$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;
基本上删除了

不必要的引号的Tadly版本:

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

最新更新