STA という名前のディレクトリがあります。そのディレクトリ内には、hh:mm:ss (00:01:34 など) の形式のディレクトリが約 600 あります。これらの各サブディレクトリ内には、3 つのファイルが必要です。これらすべてのサブディレクトリのリストである「waveformlist」(STA に含まれる) ファイルもあります。
00:01:34
00:02:35
etc.
多くのサブディレクトリにはこれら 3 つのファイルが含まれておらず、代わりに空になっています。C シェル スクリプトを実行してすべてのサブ ディレクトリを調べ、それが空かどうかを確認したいと考えています。空の場合、メイン ディレクトリ STA からそのサブ ディレクトリを削除し、リスト 'waveformlist' からそのサブディレクトリ名も削除します。
以下はこれまでの私のスクリプトです。サブディレクトリが空であるかどうかを認識せず、rm $dir 行が好きではありません。また、「waveformlist」からサブディレクトリ名を削除する方法がわかりません。
#!/bin/csh
echo "Enter name of station folder to apply filter to as 'STA' e.g. APZ:"
set ans = $<
cd $ans
set c=0
foreach dir (*:*)
if ("${c}" == 0) then
echo "Empty directory:" $dir
rm $dir
else
echo ${dir} "has files"
endif
end
私は十分に明確であることを願っています。