iidaの日記: sedとjshellの置換(続々) 2
日記 by
iida
承前
sedではできないが、正規表現としてJavaやPerlでは空文字列も指定できる。
Javaで"ab".replaceAll("","A")が、
Perlでperl -e '$_="ab";s//A/g;print'が、
両方ともAaAbAになっている。
もしsedでs//A/gをそういう意味にできたら、きっとaAbAとなったに違いない。
承前
sedではできないが、正規表現としてJavaやPerlでは空文字列も指定できる。
Javaで"ab".replaceAll("","A")が、
Perlでperl -e '$_="ab";s//A/g;print'が、
両方ともAaAbAになっている。
もしsedでs//A/gをそういう意味にできたら、きっとaAbAとなったに違いない。
身近な人の偉大さは半減する -- あるアレゲ人
sedもAaAbA (スコア:1)
以下の結果から sed でも AaAbA になると思います。
% echo "ab" | sed 's/\(\)/A/g'
AaAbA
ruby も試してみたら Java や Perl と同じで a の後ろの隙間が置換されています。
irb(main):001:0> 'ab'.gsub(//, 'A')
=> "AaAbA"
irb(main):002:0> 'ab'.gsub(/a*/, 'A')
=> "AAbA"
irb(main):003:0> 'ab'.gsub(/a*/, '(\&)')
=> "(a)()b()"
awk は sed と同じっぽい。
% echo "ab" | awk '{gsub("", "A"); print}'
AaAbA
% echo "ab" | awk '{gsub("a*", "A"); print}'
AbA
% echo "ab" | awk '{gsub("a*", "(&)"); print}'
(a)b()
Re:sedもAaAbA (スコア:1)
鋭い。
iida