grep
に流すのに echo
使いたくないが、<<<
の存在忘れがちなのでメモ。<<<
を覚えるためだけに書いたので他に目新しさ無い。
ただし bash/zsh でしか確認してない。
正規表現
grep -qE "正規表現" <<< "元の文字列"
# -G, -E で使用できる表現が違うのが面倒でいつも -E つけてる。
[[ "元の文字列" =~ 正規表現 ]]
# 右辺はダブルクオートで括らない。間違えやすいので注意。
PCRE (Perl 互換の正規表現)使う場合は:
grep -qP "正規表現" <<< "元の文字列"
zsh で PCRE なら uasi さんのコメント参照。
部分文字列
grep -qF "部分文字列" <<< "元の文字列"
おまけで置換
# 置換に失敗しても元の文字列を出力
sed 's/正規表現/置換文字列/' <<< "元の文字列"
# 置換に失敗すると出力無し
sed --quiet 's/正規表現/置換文字列/p' <<< "元の文字列"
@uasi さんからのご指摘で修正。[[ ... ]]
で正規表現を使えないんですかね。