54992


**CentOSで下記コマンドを実行しました**  
・置換実行されたファイルもあるのですが、コマンド結果には表示されませんでした  
・置換したファイルをコマンド結果に表示させる方法はありますか？

[code]

    $ find . -type f -name '*.php' -exec sed -i 's/a\.php/b\.php/g' {} +
    
    sed: 一時ファイル /xxxx/sedf2hZwQ を開くことができませんでした: 許可がありません sed: 一時ファイル /xxxx
    を開くことができませんでした: 許可 がありません
    
[/code]


CC BY-SA 4.0
2019-05-16T00:24:50.367
54990
2019-05-16T01:00:22.493
7886
question
unix
$ find . -type f -name '*.php' -exec sed -i 's/a\.php/b\.php/g' {} + で何を置換したかを表示するには？


`sed`コマンドでは`-n
-p`オプションを指定しない限り、パターンにマッチまたは置換した/しないに関わらず、入力ファイルの中身をすべて表示(出力)します。

そして、`grep`コマンドのような「マッチしたファイル名を表示する/しない」オプションは無いので、質問のような「置換したファイルを結果に表示させたい」なら[関連質問でsayuriさんが回答](https://ja.stackoverflow.com/a/54991/3060)しているように、sedの前にgrepなどであらかじめ対象のファイルを絞り込む必要があると思います。


CC BY-SA 4.0
2019-05-16T01:00:22.493
54992
2019-05-16T01:00:22.493
3060
54990
answer