find [duplicate]のパラメータ-nameと一致する値に二重引用符を使用してください。

find [duplicate]のパラメータ-nameと一致する値に二重引用符を使用してください。

パラメータ-nameと一致する値をfind二重引用符で囲む必要があるのはなぜですか?

# find / -type f -name *.out |wc -l 1>mv.out                                  
0403-027 The parameter list is too long.
# cat mv.out                                                   
       0
# find / -type f -name "*.out" |wc -l 1>mv.out                                   
# cat mv.out                                                                                           
  146302

ベストアンサー1

二重引用符がない場合、シェルは展開されます。これは、現在のディレクトリで一致するすべてのファイル名(主にドットで終わるがドットで始まらないすべてのファイル)*.outに置き換えられることを意味します。あなたの場合、引数として渡された2つ以上の一致するファイルがあるようです。どうすればいいのかわからず、引数リストが長すぎると文句を言います。*.out.outfindfind

パターンを引用するとシェルはそのまま残り、引用符を削除するとfind変更されていないパラメータが表示されます*.out。これはおそらく欲しいものです。

おすすめ記事