Unixのシェルでtcsh
フォルダ名と検索したファイルの数を印刷し、それをファイルに提供したいと思います。
しかし、ちょうどフォルダ名を追加する方法がわからず、数を見つけてファイルに書き込むことができました。
my_folder.txt
次のディレクトリ名のリストが含まれています。
dir_1
dir_2
dir_3
foreach a (`cat my_folder.txt`)
find ./netlists/spice/${a}.sp -newermt '8/16/2022 0:00:00' | wc -l >check_latest.txt
end
上記のコードはファイルの数だけを出力します。たとえば、次のようになります。
10
5
4
しかし、私は次のようなものを印刷したいと思います。
dir_1 10
dir_2 5
dir_3 4
これを達成する方法がわかりますか?
ベストアンサー1
私はあなたが何をしているのか完全にはわかりませんが、おそらくあなたが望むものは次のとおりです。
foreach a (`cat my_folder.txt`) echo "$a " $(find ./netlists/spice/${a}.sp -newermt '8/16/2022 0:00:00' | wc -l) >check_latest.txt; end
個人的には、読みやすくするために複数行に分割します。
foreach a (`cat my_folder.txt`)
do
count=$(find ./netlists/spice/${a}.sp -newermt '8/16/2022 0:00:00' | wc -l)
echo "$a $count"
done >check_latest.txt