2016-04-06 17 views
1

sedを使用して、入力ファイルの最後のスペースを置き換える必要があります。最後に現れるスペースをsedと置き換えます

私が思いついたこと

sed "s/([ ])[0-9]*$/,/g" 

しかし、交換するはずのスペースを覚えておいて欲しいしていないようです。丸括弧を使用せずにコマンドを実行すると、正常に機能します(数字の連鎖であるを置き換えます)。角括弧を追加すると、何もしません。

はい、私はthis解決策を知っていますが、\1sedに渡そうとすると、「1はREに定義されていません」と叫びます。

誰かがお手伝いしますか?それは簡単な問題のようですが、私は解決策を知ってうれしいです。

+0

...(イェーイ)「初めて」を仕事に見えましたか?あるいは、 "on * a line?"おそらく「ファイルの最後のスペース」ではないでしょうか? – DigitalRoss

答えて

1

これは、私はあなたが「*各*行の最後のスペース」を意味推測

$ sed -e 's/ \([^ ][^ ]*\)$/,\1/' /etc/hosts 
+0

私は間違ったことを見ます。私は括弧をエスケープする必要があります... –

関連する問題