このへん説明してみようかと思いました。花嫁修行のお供に。 http://shinh.skr.jp/m/?date=20071104#p06 seq 1 1000 | sed ' # : はラベル。なんか知らんけど少なくとも GNU sed は無名ラベルも OK 。 : # 0 があるなら {} の中身を実行。 /0/{ # 入力をホールドスペースに退避しつつパターンスペースにホールドスペースを。 # パターンスペースには数値であらわしたカウンタを入れる予定。 x # 数値に _@0123456789_0 というサフィックスをつける。 # 19 って数値が入ってたとしたら 19_@0123456789_0 s/$/_@0123456789_0/ # も一個ラベル。 :a # 先頭に _ があったら 1 に変える。 # 最初は空文字だってのと繰上がった後の処理を兼ねる。 s/^_/1/ # イ