2014-02-26 97 views
0
for subdir in */ ; do 
cd $subdir 
ffmpeg -i mycode 

如果文件夾名稱包含foo,我該如何排除ffmpeg命令?在文件夾名稱中查找文本cointain並跳過它

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

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 

回答

0

Basicly Tadly的版本,不必要的引號去掉:

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

非常感謝 – pasaico

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; 
相關問題