SEDコマンドを使用して複数のファイルの空白の単語を置き換えようとしています。 [閉じる]

SEDコマンドを使用して複数のファイルの空白の単語を置き換えようとしています。 [閉じる]

SEDコマンドを使用して複数のファイルの空白の単語を置き換えたいと思います。

複数のディレクトリの多くのファイルに一重引用符を含む「Danny」という単語があり、それを「Danny Samuel」に変更したいと思います。

新しい単語にスペースがあるため、このコマンドは機能しません。

find . -type f -exec sed -e 's/'Danny'/'Danny Samuel'/g' -i.php '{}' +

ベストアンサー1

一重引用符の中に一重引用符を含めることはできません。'inは'Danny引用符を閉じます。

find . -type f -exec sed -e 's/'Danny'/'Danny Samuel'/g' -i.php '{}' +
                             ^^ !!!!! ^ !!!!!!!!!!!! ^^
                         quoted     quoted         quoted  
                              unquoted    unquoted

書き下ろす:

find . -type f -exec sed -i.php -e "s/'Danny'/'Danny Samuel'/g" {} +

.phpバックアップファイルの拡張子としては、これは非常に予期しないことです。)

おすすめ記事