Linux находит файлы в партии

У меня есть один вопрос: Я удаленно авторизовался в систему Linux. У меня есть связка имен файлов, которые я должен проверить, существуют ли они в соответствии с определенным справочником (/u02/csv) и sub справочниками под/u02/csv. Я быстро чувствую себя опустошенным, чтобы использовать, находят, что команда ищет эти файлы один за другим. Как совершенно новый bie к Linux. Есть ли какой-либо метод, что я могу позволить Linux, чтобы прочитать имена файлов от текстового файла и искать эти файлы и произвести результат (например, если это существует, просто перечисляет путь, иначе, просто говорит "нет") к другому файлу?

B.T.W., этот список имени файла находится в моем отдаленном PC, вы могли также предложить, как я могу поместить его в Linux?

Большое спасибо заранее!

Сэм

1
nl ja de

3 ответы

Что-то как

for line in $(cat files.txt)
do
   find /u02 -type f -name $line >> results.txt
done

где files.txt перечисляет ваши имена файлов, один на строку?

3
добавлено
можно сделать это непосредственно на командной строке. иначе you' ll хотят читать о программирование удара
добавлено автор Marc B, источник
Отметьте, это потерпит неудачу, если у какого-либо из файлов будут места на их имена. Кроме того, it' s неэффективный, поскольку это вновь открыло results.txt на каждом повторении петли.
добавлено автор Josh Cartwright, источник
Спасибо!:) Да, каждое имя файла на строку. Я сожалею, для которого я могу задать глупый вопрос. Как я могу выполнить этот сценарий? я должен дать сценарию некоторое расширение, чтобы выполнить как этот в Windows?
добавлено автор lxiscas, источник
большое спасибо! I got it.
добавлено автор lxiscas, источник

Другое решение:

find /u02 -type f -name $(cat files.txt | xargs | sed 's/\W/ -o -name /g') >> results.txt
0
добавлено

Чистое, эффективное решение, которое работает с файлами, которые включают места в их имя:

while IFS= read -r file; do
   printf '%s ' "$file"
   if [[ -e "/u02/csv/$file" ]]; then
      printf 'exists.\n'
   else
      printf 'does not exist.\n'
   fi
done < files.txt > results.txt
0
добавлено
Linux Help
Linux Help
2 686 участник(ов)

Правила: https://telegra.ph/Pravila-Linux-Help-10-15

Linux Security
Linux Security
652 участник(ов)

Данная группа принципиально про безопасность и в частности про безопасность Linux. Прочие темы просим обсуждать в профильных чатах.

Linux Gaming RUS
Linux Gaming RUS
28 участник(ов)

Русскоязычный чатик, посвящённый играм на различных дистрибутивах Linux, а также wine, proton Arch Linux RU @ArchLinuxChatRU Gnome RU @gnome_ru