<分区>
我正在尝试编写一个 .sh
脚本,它会在某一时刻检查当前目录中是否有一个或多个文件匹配 *\_??\_??\_64kbs.mp3
或者,使用正则表达式 ^.*\_..\_..\_64kbs\.mp3$
这是对命令的一次尝试:
if [ 'ls *_??_??_64kbs.mp3 2>/dev/null | wc -l ' == 0 ];
then echo "nothing";
else echo "something";
fi
我知道
'ls *_??_??_64kbs.mp3 2>/dev/null | wc -l'
在这种情况下,只向终端返回数字 9,因为有 9 个匹配项。如果我删除第一个 '?',它会返回 0,就像它应该的那样,因为没有与该表达式匹配的文件名。但是上面 if 表达式的输出总是“something”。
编辑: 有人要求为我要匹配的内容提供完整的示例文件名。这是一个:
George-1983_1A_01_64kbs.mp3