想知道是否有人可以用正则表达式和 bash 帮助我。
我正在尝试对仅具有特定扩展名的文件执行一组命令,在这种情况下:mpg、mpeg、avi 和 mkv。
我实际上在这里找到了解决方案,但是,它似乎不起作用。如果有人能告诉我原因,我将不胜感激。
#!/bin/bash
# Configuration
TARGETDIR="$1"
TARGETEXT="(mpg|mpeg|avi|mkv)"
for d in `find $1 -type d`
do
echo "Searching directory: $d"
for f in "$d"/*
do
if [ -d "${f}" ];
then
# File is a directory, do not perform
echo "$f is a directory, not performing ..."
elif [ -f "${f}" ];
then
filename=$(basename "$f")
extension="${filename##*.}"
if [ "$extension" == "$TARGETEXT" ];
then
echo "Match"
else
echo "Mismatch - $f - $extension"
fi
fi
done
done
再次感谢任何帮助。