Ari*_*yan 5 linux ls grep sed files
我有很多的目录.PDF和.JPG文件。
.JPG每个文件都应该有一个.PDF同名的文件。
我正在尝试使用命令来查找.PDF没有.JPG文件的文件。
我目前的命令是:
find -iname '*.jpg' -print0|sed 's/jpg$/pdf$/ig' |xargs -0 ls
Run Code Online (Sandbox Code Playgroud)
这会: No such file or directory为不存在的文件打印错误;
问题是或ls无法处理的错误。
其中任何一个都可以解决我的问题: grepsed
ls只列出不存在的文件?lswith sed/ 的错误grep?小智 2
我认为你应该使用循环
IFR=$'\0' # because you use -print0 on your find
for jpg_file in `find -iname '*.jpg' -print0`
do
pdf_file=`echo "$jpg_file" | sed 's/jpg$/pdf/i'`
if [ -e "$pdf_file" ]; then
echo "$pdf_file exist"
else
echo "$pdf_file missing"
fi
done
Run Code Online (Sandbox Code Playgroud)