sed コマンドで上書き保存(macOS)
macOSだと、sed コマンドで上書き保存できない
sedコマンドで文字を置換して上書き保存するように「sed -i 's/置換前/置換後/g’ (ファイル名)」とコマンドをうっても以下のようにエラーになります
$ echo "aaa" > hoge.txt $ sed -i "s/aaa/xxx/g" hoge.txt sed: 1: "hoge.txt": extra characters at the end of h command $ echo "aaa" > test.txt $ sed -i "s/a/x/g" test.txt sed: 1: "test.txt": undefined label 'est.txt'
sed コマンドで上書き保存する場合のオプション
「sed -i 〜〜」だと、置換後に上書き保存ができません。上書き保存するには「sed -i -e 's/置換前/置換後/g’ (ファイル名)」と「-i -e」とオプションを使用すればできます
$ echo "aaa" > test.txt $ sed -i -e "s/aaa/xxx/g" test.txt $ cat test.txt xxx
または、「-i」のあとに「””」をつけて、「sed -i “" -e 's/置換前/置換後/g’ (ファイル名)」とすれば、エラーなく上書き保存ができます
$ echo "aaa" > hoge.txt $ sed -i "" "s/aaa/xxx/g" hoge.txt $ cat hoge.txt xxx
ディスカッション
コメント一覧
まだ、コメントがありません