"-exec ls -l {}"コマンドに問題があります。

"-exec ls -l {}"コマンドに問題があります。

私は研究室で働いていましたが、私たちが学ぶべき命令の機能のいくつかに問題がありました。ここにいる:

find . -name "*.txt" -exec ls -l {} \;

現在のディレクトリでは、拡張子が.txtのすべてのファイルを見つけることが確認されていますが、コマンドで何が行われているのかfind . -name "*.txt"わかりません。-exec ls -1 {} \;どんな助けや基本的な説明でもいただければ幸いです。

答え1

私たちがそれをいくつかの部分に分割した場合:

find . -name "*.txt" -exec ls -l {} \;
  • find .=現在のディレクトリから始めてすべてのファイル/ディレクトリを検索する
  • -name "*.txt"=名前が終わるファイル/ディレクトリのみをフィルタリングします。*.txt
  • -exec=各ファイルに対して次のコマンドを実行します。
    • ls -l {}=実行ls -l{}ファイル名に置き換え)
    • \;=コマンド終了

関連情報