linux: localiza arquivos de uma lista em txt, os arquivos contêm espaços

1

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.

    
por ravasquezgt 23.04.2014 / 16:29

3 respostas

1
#!/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
    
por 23.04.2014 / 20:55
1

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.

    
por 23.04.2014 / 18:25
0

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

    
por 23.04.2014 / 17:49