上書きせずにLinuxで同じファイルを読み書きできますか? [コピー]

上書きせずにLinuxで同じファイルを読み書きできますか? [コピー]

重複の可能性:
iconvに入力ファイルを変換された出力に置き換えさせるにはどうすればよいですか?


私はパブリックDNS名()を使用してAmazon ec2に頻繁に接続するためec2-12-34-56-78.compute-1.amazonaws.com、再度使用しない項目にknown_hostsファイルがあふれます。ec2

sed -i内部編集が利用できることを知っていますが、grepそうしたかったのです。

grep -v ec2 ~/.ssh/known_hosts > ~/.ssh/known_hosts

known_hostsこれにより空のファイルが残ります。私がするなら:

grep -v ec2 ~/.ssh/known_hosts > ~/.ssh/tmp
mv ~/.ssh/tmp ~/.ssh/known_hosts

grepすべてが大丈夫ですが、なぜ同じファイルを読み書きするときに空白が残るのか、をcat使用するときに回避策があるのか​​などが混乱しています。

ベストアンサー1

というユーティリティがありますspongeその他のユーティリティ母音。この目的のために作られました。

grep -v ec2 ~/.ssh/known_hosts | sponge ~/.ssh/known_hosts

おすすめ記事