Linux 如何检查文件名中是否存在某个字符串的文件?
如果目录中不存在文件名中包含“RDR\u Config\u Summary”的文件,我想打印一条错误消息。一些示例文件名可以是Linux 如何检查文件名中是否存在某个字符串的文件?,linux,bash,Linux,Bash,如果目录中不存在文件名中包含“RDR\u Config\u Summary”的文件,我想打印一条错误消息。一些示例文件名可以是er2\u FCLS\u RDR\u Config\u Summary.txt或er1\u CDMA\u RDR\u Config\u Summary.txt。我收到以下代码的语法错误: cd $inputDir/$reviewDir [[ ! grep "RDR_Config_Summary" ]] && echo -e "
er2\u FCLS\u RDR\u Config\u Summary.txt
或er1\u CDMA\u RDR\u Config\u Summary.txt
。我收到以下代码的语法错误:
cd $inputDir/$reviewDir
[[ ! grep "RDR_Config_Summary" ]] && echo -e "\nError: RDR Config Summary file was not found\n" && exit 1
[[
本身就是一个命令;您不需要它来运行grep
。但是,您没有任何东西可以运行grep
。请改用路径名扩展
cd "$inputDir/$reviewDir"
shopt -s failglob
if ! { : *RDR_ConfigSummary*; } 2> /dev/null; then
echo -e "\nError: RDR Config Summary file was not found\n";
exit 1
fi
shopt -u failglob
我在这里没有看到语法错误。您确定使用的是
bash
?@chepner正在运行op的代码,我得到-bash:conditional binary operator expected-bash:syntax error靠近“RDR\u Config\u Summary”
哦,对了;表达式迷你语言中的语法错误。
cd "$inputDir/$reviewDir"
shopt -s failglob
if ! { : *RDR_ConfigSummary*; } 2> /dev/null; then
echo -e "\nError: RDR Config Summary file was not found\n";
exit 1
fi
shopt -u failglob