にマッチ線を破る私は、コードの1行でkshのとAT&Tは、パターン
aaa
bbb
に 'AAA BBB' を破壊する必要があります。 gnusedでは、私のことができます。
bashでprint 'aaa bbb' | sed 's/ /\n/g'
、私がすることができます
echo 'aaa bbb' | sed 's/ '"/`echo \\\n`/"
しかし、kshの/ zshの中
、&でトンSED AIXで、これのどれも働かないで:print 'aaa bbb' | sed "s/ /`echo -e \\\n`/"
print 'aaa bbb' | sed 's/ '"/`echo \\\n`/"
print 'aaa bbb' | sed "s/ /`echo \\\n`/"
sedには1行で回避策がありますか? ごとスペースをこれを行うには
sed 'h;s/^[^ ]* //;x;s/ [^ ]*$//;G'
:行で正確に一つのスペースを想定し
hmm、 'aaa bbb ccc ddd ...'のように長い行にする必要がある場合 – MeaCulpa
'ksh'を使ってシェル変数を使っているのなら、' sed'を完全に避けることができます: '$ {line#*} 'は最初のスペースに続くもの、' $ {line%*} 'は最初のスペースの前のものです。 *最後の*スペースを使うために '#'や '%'を二倍にしてください。 – geekosaur
@MeaCulpa、編集された答えをご覧ください。あるいは、あなたは見ていないほうが幸せだろう。これは私が書いた最も悪い「sed」とは遠く離れていますが、ほとんどの人々の邪悪な考え方を超えることはあまりありません。 – geekosaur