cd /DIR1/
if [ -f abc_*] ; then
ls -l abc_*| awk 'NR >0 && !/^d/ {print $NF}' >>list.txt
chmod 664 list.txt
else
echo "file not found"
fi
它给出错误"二元运算符预期"
如果在目录中找到任何以模式" abc _"开头的文件。它应该创建一个名为list.txt的文件,并将文件名移动到list.txt
答案 0 :(得分:0)
-f检查是否存在单个文件,您可以使用
if ls abc_* 2>/dev/null; then
do stuff
fi
答案 1 :(得分:0)
您可以使用如下单线程查找命令:
find . -maxdepth 1 -name "abc_*" -printf "%f\n" >> list.txt
find命令会在当前找到你的文件(替换。用/ DIR1在/ DIR1中查找)目录
maxdepth
- 仅在指定的目录中,而不是在每个目录中递归。 name
名称类似于abc_ * printf
- 只打印没有目录前缀的文件名。