sedでブレース展開した値を置換後の値として利用させる

先日のシェル芸勉強会の問題を解いている際、sedでブレース展開させてその値を置換後の値として利用させる方法を思いついたので、忘れないように備忘で残しておく。といっても、実際やってることは前に書いた複数回ごとにヒットした箇所に対しての置換処理の応用みたいなものなんだけど。
処理方法だが、以下のようにsedを実行することで置換後の値にブレース展開をした値を順番に置き換えていく事ができる。

echo {a..g} | sed 's/ /\n \n/g' | sed -z -e's/ /'{1..100}'/'
Sponsored Links

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

 


Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。

*