sed
例: 文字列の中に記号を挿入する:
$ echo 2012123 | sed 's/\(2...\)\(...\)/\1_\2/' 2012_123 $ echo 2012123 | sed 's/\(2...\)/\1_/' 2012_123
この例のポイント:
- まず2012123という文字列を, 2012と123の2つの部分に分けたい。
- 文字列の前半部(2012)が, \(2...\)という表現で切り出され, \1と呼ばれる。
- 文字列の後半部(123)が, \(...\)という表現で切り出され, \2と呼ばれる。
- 前半部と後半部の間に, 挿入したい記号, ここではアンダーバーを入れるように命令。
- 第2例のように, 前半部だけを手がかりに挿入することもできる。
- ちなみにこの例は, 年とDOYが連続して表されているものを扱う時によく使う。
- 応用:
$ echo 20181123 | sed 's/\(2...\)\(..\)\(..\)/\1\/\2\/\3/' 2018/11/23
Keyword(s):
References:[とらりもんHOME]