sedの正規表現で「\w」「\d」「\s」を実現する方法を紹介します。 1.問題点 sedの正規表現では、Perlなどで使われる英数またはアンダーバーにマッチする「\w」や「\d」、あるいは空白にマッチする「\s」などのメタ文字を使うことができません。 たとえば次のスクリプトで変数dataから「123」という値を取得しようとしても、期待通りの結果になりません。 #!/bin/sh data="abc123def" result=`echo "$data" | sed -e "s/^.*\(\d\{3\}\).*$/\1/"` echo $result ということで、メタ文字と同じ効果を得られる方法を紹介します。 2.sedの正規表現で「\w」「\d」「\s」を使う sedの正規表現で「\w」「\d」「\s」などを実現するには、次の正規表現に置き換えます。 マッチ方法Perlsed 数字にマ
![sedの正規表現で「\w」「\d」「\s」を実現する方法](https://cdn-ak-scissors.b.st-hatena.com/image/square/fc4f13430b8bb39a728c8c4ecc3d3abe531ff37c/height=288;version=1;width=512/https%3A%2F%2Fwww.koikikukan.com%2Fimages%2F2014%2F12%2F20141205_sed.png)