可能ですか?次のコマンドでこれを行うことができるという内容をどこかで読みました。
sed -e [コマンド] [ファイル]
しかし、同じことをするようです。
sed [コマンド] [ファイル]
(変更は保存されていません。)sedを使用してこれを行う方法はありますか?
答え1
私はあなたが探していると思います-i
:
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if SUFFIX supplied)
たとえば、
$ cat foo.txt
hello world
$ sed -i 's/o/X/g' foo.txt
$ cat foo.txt
hellX wXrld
サフィックスを指定すると、バックアップファイルが作成されます。
$ ls
foo.txt
$ sed -i.bak 's/o/X/g' foo.txt
$ ls
foo.txt foo.txt.bak
入力ファイルを変更し、元のファイルデータを含むバックアップを作成します。
また、これはGNU用であることに注意してくださいsed
。ニュアンスsed
異なる実装間の形式。
答え2
次のソリューションはHPUX(UNIX)用です。
1
{ rm test1.sh && awk '{gsub("Error", "NO_Error", $0); print}' > test1.sh; } < test1.sh
.:
2.
perl -pi -e 's/Error/NO_Error/g' test1.sh
三。
sed 's/Error/NO_Error/g' test1.sh | tee test1.sh
答え3
-e
sed
複数のコマンドを実行するためのオプション
sed -e 's/linux/unix/' -e 's/os/OS/' file.txt
file.txt
と思う
linux os
それからO / Pは
unix os
-i
変更を永久に保存するオプション...