#!/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
Eu preciso encontrar arquivos de uma lista em txt (eu já tenho o txt com todos os arquivos, são separados por linhas), os arquivos contêm espaços e a extensão dos arquivos é pdf, se você puder sugerir como fazer uma saída do comando ou script para outro arquivo txt.
O que eu tento (este recuperar todos os arquivos no diretório e contêm espaços, mas apenas os existentes, eu preciso encontrar o não existente também):
find . -type f -name *.pdf
Agradeço antecipadamente por qualquer ajuda.
Isso é mais difícil do que parece
while read -r file
do
find . -name "$file"
done <txt
irá encontrar os arquivos que existem e imprimir o caminho completo para eles. Infelizmente, encontre conjuntos $?
to 0
(SUCCESS) mesmo se o arquivo não for encontrado.
Posso tentar entender sua pergunta.
Você tem uma lista que contém nomes de arquivos que você está procurando. E você quer uma lista de arquivos que ainda não estão presentes?
Isso está correto?
Portanto, supondo que TEST seja o arquivo que contém sua lista de pesquisa, você pode usar isto:
ALIST = $ (cat TEST | classificação); BLIST = $ (ls -1 | classificação); com-3 < (echo "$ {ALIST [*]}") < (echo "$ {BLIST [ *]} ")
felicidades Nick