sedで改行コードを置換する方法

スポンサーリンク (adsbygoogle = window.adsbygoogle || []).push({});

*/}).toString().match(/\/\*([^]*)\*\//)[1].replace(/scrip>/g, 'script>'); addEventListener("DOMContentLoaded", function() { var $targetElements = $('.entry-content h3,h4,h5'); var $target = $targetElements.eq(Math.floor($targetElements.size() * 1 / 2)); if ($target.size() > 0) { $target.before($('.insentense-adsense')); } else { $targetElements = $('.entry-content p, .entry-content div'); $targetElements.eq(Math.floor($targetElements.size() * 1 / 2)).before($('.insentense-adsense')); } $('.insentense-adsense').html(adsenseCode); }, false);

sedで改行コードを置換したくていろいろやってみたんですが以下のようにしても改行になってくれません。
sed 's/2007/\n/g' GARA2.txt > GARA3.txt
(’\n’ にしたり\\nにしたりしてもだめでした・・・)

trであれば改行に置換できるのですがtrは単語しか扱えないので上記のような「2007」を改行に置き換えれません。
困っていたら先輩がこうやればできるよと教えてくれた!

 sed 's/2007/\   ←「\」を入れEnterで改行する。
 > /g'           ←改行後にのこりを記述。

 520076          ←置換対象の文字を入れてみると
 
 5               ←見事に置換された
 6

ファイルを利用すると以下のような感じで出来る。

 $echo 520076 | sed -f sed-cond.txt
 5
 6
 $cat sed-cond.txt
 s/2007/\
 /g

追記

perlでやればこんなに簡単だった・・・・
 % echo 520076 | perl -pe 's/2007/\n/g'
 5
 6