名前が大文字で始まるすべてのファイルを検索しようとしています。次のコマンドを使用してみました。
find . -type f -regex '.*\/[A-Z][^/]*'
小文字のみのパスを検索しています。次の作品:
find . -type f -regex '.*\/[ABCDEFGHIJKLMNOPQRSTUVWXYZ][^/]*'
同様に:
find . -type f | grep '.*\/[A-Z][^/]*$'
のすべての異なるオプションを試してみましたregextype
が、結果は同じです。
なぜfind
小文字を含めるの[A-Z]
ですか?私はそのための正規表現だと思った[a-zA-Z]
。に大文字のみの範囲を指定する方法はありますfind
か?
動作します。答えで理由を説明できますか?
—
カールビーレフェルト
私は試すことができましたが、それからあなたはこれを逃すかもしれません。
—
mikeserv 14年
スラッシュ(
—
クリスティアンシウピトゥ14年
\/
)をエスケープしているのはなぜですか?また、どのような検索結果を使用していますfind --version
か()?
エスケープ
—
deltab 14年
/
は、区切り文字として使用する場合にのみ必要です(例:)s/foo\/bar/foobar/
。(ただし、多くの場合、他の区切り文字を使用できます:s#foo/bar#foobar#
。)
LC_ALL=C find ...
?