sedコマンドでhogehogeファイルの1行目の文字列「foo」を「bar」に置き換える場合
ってな感じになる。
そこでこれを同じファイルに保存するために
とするとhogehogeは空のファイルになってしまう。
こんな場合、edコマンドを使えば、こんな感じでできる。
echoの「-e」オプションは「\」をエスケープ文字と見なすためのもの。
これで「\n」を改行とみなしてくれる。
echoでは置き換え命令「1s/foo/bar/g」と
書き込み命令「w」と
終了命令「q」をedに送っている。
改行「\n」が命令の区切り。
edの「-s」オプションは、edの出力を消すため。
シェルスクリプト内で使いたいので、意味のない出力を出さないためにつけとく。
0 件のコメント:
コメントを投稿