2017-01-22 19 views
0

私はUnixとそのターミナルの使い方を学びます。私はMacに入っていますファイル内の単語を置換するためにsed

私は端末を開いて、私はフォルダに行きます。内部にはfruit.txtというファイルがあります。このファイルには、私は言葉の梨を代用し、ファイルfruit.txtでマンゴーを入れたい言葉だけ梨、リンゴ

がある

sed 's/pear/mango/' fruit.txt 

ターミナルは私を与える:

mango, apple 

しかし、私はファイルを開き、何も変わっていません。私は何が欠けていますか?

+1

sedのオプション-i: 'man sed' – Cyrus

答えて

0

sedは、ストリームエディタです。つまり、データを読み取って変更し、 とし、結果を出力に送信します。ファイルの の内容を自動的に置き換えるものではありません。

sed -iまたはsed --in-placeは、必要に応じてファイルを置き換えます。

sed fruit.txt > newfruit.txt 

を、出力は新しいファイルに移動します:

また、あなたはこのような何かを行うことができます。これはより安全です。 を間違えても、元のファイルはそのまま残ります。

+0

sed -iの/ pear/mango/'fruit.txtは私にsed:1:" fruit.txt "を与えます:comand code fが無効です – segon

+0

同じ結果を持つsed -i/pear/mango/'fruit.txt> newfruit.txtも試しました – segon

+0

'sed'のどのバージョンがありますか? 'sed --version'。 –

関連する問題