拡張子が指定されていない場合、 find -path はファイルと一致しません。

拡張子が指定されていない場合、 find -path はファイルと一致しません。

find仕事をエキサイティングにする大きな仕事の一つ

私がこうすれば:

find -path *ncf

またはこれ:

find -path ncf*

何の結果も得られませんが、結果が出た場合:

find -path *ncf.js

一致するファイルを取得しました。なぜそんなことですか?これは見つけることができるユニークなものですか、それとも大きなものですか?この手紙を書いた人の家の住所を知っている人はいますかfind

ベストアンサー1

これには2つの問題があります。

  1. それ以外*の場合はシェルによって処理されます(存在する場合は現在のディレクトリのファイルと一致)。

    find -path \*ncf.js
    

    または

    find -path '*ncf.js'
    
  2. 現れる動作は、ワイルドカード式がファイルと一致するという事実に由来します。拡張機能を含む完全なコンテンツ。 (-name拡張子がまだ含まれているファイル名を一致させるために使用されます。)これは具体的ではありません。findファイルを含むディレクトリで試してください。ls

.すべてのバージョンでfindデフォルトとして使用されるわけではありませんが、開始ディレクトリを指定する習慣が必要です。

おすすめ記事