ディレクトリとサブディレクトリでsedを使用して検索と置換を行う 質問する

ディレクトリとサブディレクトリでsedを使用して検索と置換を行う 質問する

次のコマンドを実行して、サイトのルートにあるすべてのファイルで 'apple' をすべて 'orange' に置き換えます。

find ./ -exec sed -i 's/apple/orange/g' {} \;

しかし、サブディレクトリは通過しません。

このコマンドの何が問題なのでしょうか?

以下は出力の一部ですfind ./:

./index.php
./header.php
./fpd
./fpd/font
./fpd/font/desktop.ini
./fpd/font/courier.php
./fpd/font/symbol.php

ベストアンサー1

findディレクトリ名が送信されないようにするには、次のようになりますsed

find ./ -type f -exec sed -i -e 's/apple/orange/g' {} \;

おすすめ記事