PWDと3番目のレベルディレクトリにあるすべてのファイル名を表示します。

PWDと3番目のレベルディレクトリにあるすべてのファイル名を表示します。

クエリを使用しないでくださいそして単一コマンド:PWDおよび3番目のレベルディレクトリに存在するすべてのファイル名を表示します。

レベル3のすべてのファイルを表示するための不都合な解決策があります。

ls -l ./*/*/* |grep ^- |awk '{print $9}'| grep -E ^./\(.*/\){2}

または

ls -ld ./*/*/* |grep ^- |awk '{print $9}'

しかし、現在のディレクトリとレベル3のすべてのファイルを表示するように拡張するにはどうすればよいですか?検索を使用する必要はありません。

ベストアンサー1

シェルワイルドカードとfor()の助けを借りて、以下を設定できます。test[

for f in * */*/*; do [ -f "$f" ] && echo "$f"; done
  • * */*/**現在のディレクトリ()と3番目のレベル()*/*/*のすべてのファイルとディレクトリと一致します。

  • [ -f "$f" ]ファイルであることを確認し、その場合はファイル名(echo "$f")を出力してください。

おすすめ記事