こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

linuxでファイル内容の置換について

ファイルのabcdefを含む行に対して、最後の「-」以外の「-」の前に「.c」を挿入したいのですが、何か良い方法はありませんでしょうか。
よろしくお願いいたします。

置換前:
FALSE/abcdef/FALSE1451919600abcdef%8B%A6-%95%97-%95a-%8D%91-%92%B2-%8A%F8-%96%9C-%89%B0-%90%AB-%89%B0%95a%95%97-%8B%A6%92%B2%90%AB-%96%9C%8D%91%8A%F8-4be8672275e58bc12b941d73fa5365a22b820d825cee506f0598338d65b16717-20160104

置換後:
FALSE/abcdef/FALSE1451919600abcdef%8B%A6.c-%95%97.c-%95a.c-%8D%91.c-%92%B2.c-%8A%F8.c-%96%9C.c-%89%B0.c-%90%AB.c-%89%B0%95a%95%97.c-%8B%A6%92%B2%90%AB.c-%96%9C%8D%91%8A%F8.c-4be8672275e58bc12b941d73fa5365a22b820d825cee506f0598338d65b16717-20160104

投稿日時 - 2016-01-06 04:35:46

QNo.9106818

困ってます

質問者が選んだベストアンサー

使われてない文字で一度区切り (例えば \n)、それから s//g して戻すのが楽だと思います。
sed '/abcdef/{s/-[^-]*$/\n&/;s/\([^\n]\)-/\1.c-/g;s/\n//;}' before > after

投稿日時 - 2016-01-06 17:24:51

お礼

ご教示頂きました方法で無事置換できました!ありがとうございました。

投稿日時 - 2016-01-07 04:30:36

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-