teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2018/02/27 06:26

投稿

KojiDoi
KojiDoi

スコア13727

answer CHANGED
@@ -1,1 +1,8 @@
1
- 入力元のファイル名をそのままリダイレクト先の出力ファイル名として使ってしまっているのがまずいでしょう。読み込む前にm.txtが新規にオープンされてしまうので、この時点で元の内容が消えてしまいます。
1
+ 入力元のファイル名をそのままリダイレクト先の出力ファイル名として使ってしまっているのがまずいでしょう。読み込む前にm.txtが新規にオープンされてしまうので、この時点で元の内容が消えてしまいます。
2
+
3
+ 追記
4
+ perlを使う手もあります。
5
+ ```
6
+ perl -i.bak -pe 'chomp' m.txt
7
+ ```
8
+ こうするとperlは元ファイルをm0.txt.bakという名前で残した上で内容を置き換えてくれます。