У меня есть набор папок и набор *.DAT
файлы.
Я хочу удалить *.DAT
файл, если нет папки с таким именем (без .DAT
) существует.
Мне потребовалось некоторое время, чтобы прийти к этому решению:
find . -type d > dirs.txt
for F in `find *.DAT`
do
F=$(sed 's|\.DAT||g' <<< $F)
if grep "$F" dirs.txt; then
echo "$F found"
else
rm $F.DAT
fi
done
Но я чувствую, что должно быть гораздо более простое решение (элегантный однострочный? без создания файла? ...?). Я прав?