findを使用せずにスペースと特殊文字を含むファイル名を一覧表示する方法

findを使用せずにスペースと特殊文字を含むファイル名を一覧表示する方法

ファイル名にスペース、*、?、$、%などを含むディレクトリのファイルのリストを提供する必要があるスクリプトを作成しています。とにかく、たくさんの投稿を見ましたが、私に合った投稿が見つかりませんでした。 grepを使ってこれは可能ですか?

ベストアンサー1

printf '<%s>\n' *[[:space:]*?$%]*

隠しファイルは報告しません。[[:space:]]マルチバイト間隔文字(例" "電磁四重)UTF-8)はシェルによって異なります(一部はdashまだマルチバイト文字を認識していません)。

例:

$ touch sane 'a%b' $'with\nnewline' $'with space' $'with em-quad'
$ printf '<%s>\n' *[[:space:]*?$%]*
<a%b>
<with em-quad>
<with
newline>
<with space>

おすすめ記事