0
ls | grep '^[-[:alnum:]\._]+$'
のようなgrepコマンドを使用してファイル名を一致させると、結果は出力されませんが、コマンドがls | grep '^[-[:alnum:]\._]*$'
に変更された場合、正しく動作します。どうしたの?このgrepコマンドに出力がないのはなぜですか?
ls | grep '^[-[:alnum:]\._]+$'
のようなgrepコマンドを使用してファイル名を一致させると、結果は出力されませんが、コマンドがls | grep '^[-[:alnum:]\._]*$'
に変更された場合、正しく動作します。どうしたの?このgrepコマンドに出力がないのはなぜですか?
grepはdefaultで正規表現を使用します(+
は通常の文字です)。 1つ以上のものと一致するには\+
が必要です(またはgrep -E
を使用してください)。
ありがとうございます。できます! –
'*' = 0以上。 '+' = 1つ以上。あなたの '+'正規表現はまったく一致しませんでした。 –
ファイル名が1つ以上一致する必要があることはわかっています –