Linux: найти файлы из списка в TXT, файлы содержат пробелы
Мне нужно найти файлы из списка в TXT (у меня уже есть TXT со всеми файлами, разделены линиями), файлы содержат пробелы и расширение файлов PDF, если вы можете предложить, как сделать вывод команда или скрипт в другой текстовый файл.
Что я пытаюсь (это получить все файлы в каталоге и содержать пробелы, но только существующие, мне нужно найти и несуществующие тоже):
find . -type f -name *.pdf
Заранее благодарю за любую помощь.
3 ответа
#!/bin/bash
while read -r FILE
do
FOUND="$(find . -name "$FILE" -print -quit)"
if [ "x$FOUND" != "x" ]
then
echo "FOUND: $FILE"
else
echo "NOT FOUND: $FILE"
fi
done <filelist.txt
Это сложнее, чем кажется
while read -r file
do
find . -name "$file"
done <txt
найдет существующие файлы и напечатает полный путь к ним. К сожалению найти наборы $?
в 0
(УСПЕХ), даже если файл не найден.
Могу я попытаться понять ваш вопрос.
У вас есть список, содержащий имена файлов, которые вы ищете. А вы хотите список файлов, которых еще нет?
Это правильно?
Итак, предположим, что TEST - это файл, содержащий ваш список поиска, тогда вы можете использовать это:
ALIST = $ (cat TEST | sort); BLIST = $ (ls -1 | sort); comm -3 <(echo "$ {ALIST [*]}") <(echo "$ {BLIST [*]}")
ура Ник