回答編集履歴
1
補足
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
ファイルを読んでいる途中でそのファイルを書き換えたいと言うことですね。
|
2
2
|
|
3
3
|
sedの種類によるかもしれませんが、少なくともGNU sedでは、`-i`オプションは、別ファイルに書きだした後でリネームで元のファイル名を付けます。
|
4
|
-
例えば、`sed -i 's/a/b/' foo.txt`は、`sed 's/a/b/ foo.txt > tmp;rm foo.txt;mv tmp foo.txt`と同じです。
|
4
|
+
例えば、`sed -i 's/a/b/' foo.txt`は、`sed 's/a/b/ foo.txt > tmp;rm foo.txt;mv tmp foo.txt`と同じです(必要に応じてパーミッションなどの変更も)。
|
5
5
|
|
6
6
|
つまり、元のファイルを書き換えませんので、そのファイルを読んでいる別のプロセス(この場合は`main.sh`)には影響しません。
|
7
7
|
|