1328484 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

さすらいのプログラマ

さすらいのプログラマ

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

Keyword Search

▼キーワード検索

Profile

xyzzy_user

xyzzy_user

Calendar

Comments

AllenRaf@ fig Dib <a href="https://privatespb.com…
Rolandodeamp@ surry alubs <a href="https://blyadsk.ru/&qu…
Victornuple@ wic Exhax <a href="https://sosamba196.ru/…
avenue17@ Sains Sig круть...инетересно было прочесть
Davidabeds@ dog Slild Надеюсь, Вы найдёте верное решение.

Freepage List

2011/11/16
XML
カテゴリ:シェル
タブ区切りのファイルに3列目の前に1列(空)を追加しようとした場合、

sed -e 's/^\([^\t]*\t[^\t]*\t\)/\1\t/' xxxxx.dat

と書けるが、10列目の前の場合に同様に書くのはしんどい。

グルーピングの繰り返しを使えば、簡単に書ける。

sed -e 's/^\([^\t]*\t\)\{9\}/\1\t/' xxxxx.dat

これだと、参照先は9個目の列となるので正しく置き換えられない。

グルーピングをさらにグルーピングすると

sed -e 's/^\(\([^\t]*\t\)\{9\}\)/\1\t/' xxxxx.dat

正しく置き換えられる。
注意点としては、\2も繰り返しの最後のマッチ部分と参照できるので
他にもグルーピング指定している場合は、\3以降となる。

おそるべし、sed (正規表現?)






お気に入りの記事を「いいね!」で応援しよう

Last updated  2011/11/16 12:45:39 PM
コメント(0) | コメントを書く
[シェル] カテゴリの最新記事



© Rakuten Group, Inc.