保存したファイルが多すぎます。
Year -> Month -> Day -> bunch of .nc files
ncファイルを含むすべてのディレクトリのリストを生成したいと思います。各ncファイルのパスを一覧表示できます。
find /Year/ -name *.nc | sort > directory_list.txt
この既定のファイル内のそのフォルダのサブディレクトリで各.ncファイルを見つけます。この結果は "directory_lists" テキストファイルに保存されます。
/2000/01/01/nc_file1.nc
/2000/01/01/nc_file2.nc
/2000/01/01/nc_file3.nc
/2000/01/02/nc_file3.nc
/2000/01/03/nc_file3.nc
ちょっと…各「曜日」のディレクトリリストを持つようにこれをどのように変更しますか?これは上記のコマンドを使用して得られたものと似ていますが、ncファイルに関する情報は含まれません。
私は試した:
find /Year/ | sort > directory_list.txt
しかし、これはすべてのパスを返します。
/Year/
/Year/Month
/Year/Month/Day
私は結果が次のようになりたいと思います:
/2000/01/01/
/2000/01/02/
/2000/01/03/
ちょっと…ディレクトリ名を繰り返さないでください。
私はこれがYearディレクトリから3番目のレベルのフォルダのディレクトリを取得したいと思いますか?どんなアドバイスも本当にありがとうございます。
答え1
find /Year/ -name '*.nc' | sed -e 's:/[^/]*$:/:' | sort -u
名前が「* .nc」と一致する1つ以上のファイルを含むディレクトリのリストを提供します。
答え2
egrep '/[^/]+/[^/]+/' directory_list.txt
これにより、正確に3を含むすべての行が提供されます。/
これは正確に必要なディレクトリの深さです。