先日のシェル芸勉強会の問題を解いている際、sedでブレース展開させてその値を置換後の値として利用させる方法を思いついたので、忘れないように備忘で残しておく。 といっても、実際やってることは前に書いた複数回ごとにヒットした箇所に対しての置換処理の応用みたいなものなんだけど。
処理方法だが、以下のようにsedを実行することで置換後の値にブレース展開をした値を順番に置き換えていく事ができる。
echo {a..g} | sed 's/ /\n \n/g' | sed -z -e's/ /'{1..100}'/'
blacknon@BS-PUB-UBUNTU-01:~$ echo {a..g}_line | sed 's/ /\n \n/g'
a_line
b_line
c_line
d_line
e_line
f_line
g_line
blacknon@BS-PUB-UBUNTU-01:~$ echo {a..g}_line | sed 's/ /\n \n/g' | sed -z -e's/ /'{1..100}'/'
a_line
1
b_line
2
c_line
3
d_line
4
e_line
5
f_line
6
g_line