(O+P)ut

OutPut Log by SE in SIer



(O+P)ut

OutPut Log by SE in SIer

【sedコマンド】文字列から半角英数のみ取り出す

スポンサーリンク

文字列から半角英数のみ取り出すワンライナー

hoge.txtに複数行の文字列が書かれているとして、半角英数のみ取り出したければ以下のコマンドコピペで動作します。

cat hoge.txt | sed -e 's/[^abcdefghihklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890]//g' | grep -v '^\s*$'

解説

cat hoge.txt

これはhoge.txtの中身を表示するおなじみのコマンドです。

sed -e 's/[^a...]//g'

文字列の変換処理を行うために-eオプションを指定します。
変換内容としてはa-z、A-Z、0-9以外の文字を「無」に変換することで半角英数のみが取り出されます。

grep -v '^\s*$'

こちらはオプションですが、行の中に半角英数がなければ空白行が表示されてしまいます。
空白行を消すために、その行に一文字でも入っている行のみを表示しています。


以上、備忘録でした。