![sed - ファイルの修正 [閉じる]](https://linux33.com/image/151748/sed%20-%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E4%BF%AE%E6%AD%A3%20%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
を使用しようとしていますsed 's/a/b/' *ex/config/abs.json
。デフォルトではすべての修正が表示されますが、どのファイルが変更されるのかを知りたいです。
それはまるで
...
a1ex/config/abs.json
a2ex/config/abs.json
b177ex/config/abs.json
...
答え1
注文する
sed 's/a/b/' *ex/config/abs.json
ファイルは変更されません。名前が指定されたパターンと一致するすべてのファイルの内容を読み取りますが、変更をファイルに書き換えないため(-i
つまり、ファイルを使用しない場合)、ファイルの内容は永久に変更されません。
使用したファイルによって何が変更されるかを確認するにはsed -i
(GNUを使用していると仮定sed
)、次のことを行う必要があります。最初走る
grep -l 'a' *ex/config/abs.json
これにより、その文字を含むファイルのパス名が出力されるため、次の式で修正されa
ます。sed
s/a/b/
内部編集が完了した場合。