「検索」コマンドを使用して、奇妙な文字 (CR、LN、DEL など) を含まないファイル名を選択しようとしています。
次のコマンド ラインは、RHEL 5で正常に機能します。
find /dir -type f -regextype egrep -regex '^[[:print:]]+$'
find /dir -type f -regextype egrep -regex '^[^[:cntrl:]]+$'
ただし、バージョン 4.1.20 の find コマンドでは regextype オプションを使用できないため、RHEL 4では使用できません。
findutils パッケージのドキュメント ( /usr/share/info/find.info.gz ) によると:
*Note Syntax of Regular Expressions: (emacs)Regexps, for a
*description of the syntax of regular expressions.
そして、唯一のファイルがあるサブディレクトリにあるため、Emacs正規表現を理解しようとして非常に混乱しています
aaaa
次のコマンド ラインは機能します。
find . -type f -regex '\./[:alnum:]+'
find . -type f -regex '\./[:alpha:]+'
しかし、これらの他のものはしません:
find . -type f -regex '\./[:print:]+'
find . -type f -regex '\./[^[:cntrl:]]+'
一部の文字クラスが受け入れられ、他のクラスが受け入れられないのはなぜですか? RHEL 4 でそれを取得する他の方法を知っていますか?
事前にサンクス