0

次のスクリプトを作成しました。このスクリプトの目的は、foo で始まり、3 日以上経過していないすべてのファイルを検索し、それらを並べ替えてから、リスト ファイル内のファイルのリストと比較することです。そして、不足しているファイルのみを報告します。私のスクリプトの問題は、不足しているファイルが考慮されていないことです。つまり、以下の例を参照してください。 list という名前のファイルに foo1、foo2、foo3、foo4、foo5 が含まれているとしましょう。文字列比較はオフです。つまり、スクリプトの実行時にファイル foo4 が欠落している場合、foo5 が比較されます foo4

それが理にかなっていることを願っています

enter  

#!/bin/bash
Set –x
Find ~/test99 –name “foo*” –mtime -3 –print>report
Sort report –o report;
Cat report|cut -c 22-25>report1;
while read comp1<&3 && read comp2<&4
do
    if [[ $comp1 = $comp2 ]]; then
    echo "file not found" >/dev/null
else
    echo "$comp1 not found"
fi
done 3<report1 4<list
4

1 に答える 1

1

diffリストの比較に使用したい場合があります

fgrep -vf report listまたは、リストとレポートの違いを取得するために使用できます

于 2013-08-16T16:03:06.187 に答える