2012-01-20 5 views
0

GNU sedを使用してテキストを他のテキストに置き換えるにはどうすればよいですか?私はハッキングされ、私は私のPHPファイルに配置されたコードのいくつかを削除できるかどうかを確認しようとしています。テキストはsed text replace

eval(base64_decode('blah')); 

の種類です。それらのすべてが同一であるため、すべてのファイルのすべてを検索して置き換えたいだけです。いくつかのコマンドを試しましたが、ファイル内のテキストを不必要に変更したり破損したり、まったく起動しなかったりします。

+0

[sedコマンドのテキスト置換](http://stackoverflow.com/questions/8947841/sed-command-text-replace) – shellter

+0

このディスカッションはすっかり消えてしまいました。もう一つの方。 – notam2774

答えて

2
sed -i 's/text/other text/g' filename 

(あなたの場合はsed -i "s/eval(base64_decode('blah'))/huh/g" filename

+0

ありがとう、私はいくつかのものを逃げようとしました。私は 'sed -i '/ eval \(base64_decode \(DQplyI0KfQ == \" \)\)\; // g' filename/dir/* 'を入力し、' sed:-e expression#1、 char 1195:[* backtick *] sへの不明なオプションです。 – notam2774

+0

この特定の文字列では、エスケープする必要はありません。 –

+0

OK、エスケープされず、まだsed:-e式#1で返されます。char 1188: 's 'に未知のオプション – notam2774

1

find . -name \*.php -exec sed -i "s/text/other/g" {} \;

あなたは予行演習を行い、-iをオフのままにし、ちょうど最初のテストとしてファイルにそれを指示することもできます。

Macでは、-iは通常動作しません。