GNU/Linux >> Linux の 問題 >  >> Linux

コマンドラインでパターンを指定したときに再帰的ではないことがわかりますか?

ソースツリーを想像してみてください。どこにでもxmlファイルがあります。

ただし、このツリーのルートにXYZ.xmlがあるため、xmlファイルが見つかりません。

find -iname *.xml

返品

./XYZ.xml

代わりに

./XYZ.xml
./a/b/c/bob.xml
./b/d/top.xml

承認された回答:

find -iname '*.xml'

それ以外の場合、シェルは*.xmlを展開します XYZ.xmlへ 、実際に実行されるコマンドは

find -iname XYZ.xml

現在のディレクトリにXMLファイルがない場合に機能する理由は、シェルは通常、ワイルドカードが何にも一致しない場合、ワイルドカードを展開しないままにするためです。一般に、ワイルドカードをシェル以外のプログラム(findなど)で展開する場合はいつでも 、tarscp など)シェルがそれ自体を拡張しようとしないように、引用符で囲む必要があります。


Linux
  1. GNUParallelを使用してLinuxコマンドラインでより多くのことを行う

  2. コマンドラインでのファイルの検索(ハウツー)

  3. コマンドラインでCentOS8でファイルを検索する方法

  1. コマンドラインからLinuxサーバーを移行するときにrsyncを高速化する

  2. grep:コマンドが見つかりません

  3. Windowsのコマンドラインからmysqlデータディレクトリを見つける方法

  1. Linuxコマンドラインに関する8つのヒント

  2. 検索:コマンドが見つかりません

  3. 特定のコマンドに対応する実行可能ファイルを見つけるための unix コマンドは何ですか?