-1

1 つ質問があります。Linux システムにリモートでログインしています。特定のディレクトリ (/u02/csv) と /u02/csv の下のサブディレクトリの下に存在するかどうかを確認する必要があるファイル名がたくさんあります。これらのファイルを 1 つずつ検索するために find コマンドを使用するのは、すぐに疲れます。Linux の初心者として。Linuxにテキストファイルからファイル名を読み取らせ、これらのファイルを検索させて結果を出力させる方法はありますか(たとえば、存在する場合はパスをリストし、そうでない場合は「いいえ」と言う)別のファイルに?

ところで、このファイル名リストは私のリモート PC にあります。それを Linux に入れる方法を教えてください。

よろしくお願いします!

サム

4

3 に答える 3

3

何かのようなもの

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

files.txtファイル名を1行に1つずつリストしますか?

于 2013-01-09T16:49:45.567 に答える
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
于 2013-01-10T00:16:59.903 に答える
0

別の解決策:

find /u02 -type f -name $(cat files.txt | xargs | sed 's/\W/ -o -name /g') >> results.txt
于 2013-01-09T17:01:54.077 に答える