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

先日のシェル芸勉強会の問題を解いている際、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

 

Pocket

Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

This article has 1 comments

  1. Pingback: sedで行のレンジを複数指定(2,4と6,8など)して置換処理をさせる | 俺的備忘録 〜なんかいろいろ〜

Leave a Comment

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

*