コンソール上で置換後の文字列にランダムな数字を使用する

置換後の文字列にランダムな数字・文字列を使用する場合がある。
例えば、「=」以後の値をランダムな数字にしたい場合は、以下の様にsedを実行すると置換できる(とりあえず0~100)。

echo ABC=aaa | sed "s/=.*/=$(echo $((RANDOM % 101)))/g"
Sponsored Links

blacknon@BS-PUB-DEVELOP:~/test123$ echo ABC=aaa
ABC=aaa
blacknon@BS-PUB-DEVELOP:~/test123$
blacknon@BS-PUB-DEVELOP:~/test123$ echo ABC=aaa | sed "s/=.*/=$(echo $((RANDOM % 101)))/g"
ABC=82
blacknon@BS-PUB-DEVELOP:~/test123$ echo ABC=aaa | sed "s/=.*/=$(echo $((RANDOM % 101)))/g"
ABC=94
blacknon@BS-PUB-DEVELOP:~/test123$ echo ABC=aaa | sed "s/=.*/=$(echo $((RANDOM % 101)))/g"
ABC=65

 

やってることは単純で、置換後の値として、サブシェルで展開したランダムな数字が入るように指定しているだけだ。置換対象については、単純な指定で済むのであれば上記の様に指定してやると良いだろう。もし、比較的複雑な指定が必要な場合は後方参照などで指定してやればいいだろう。

 


Written by blacknon

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

Leave a Comment

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

*