cat出力全体を通してファイルをgrepするための短いスクリプト(for ifループ)を検索/作成しようとしました。
私はすでに試しました。
#!/bin/bash
find -name 'xmlrpc.php' -execdir bash -c '
if [ -e ".htaccess" ] ; then
if grep -qxf /home/tstepien/Desktop/code/testing/addthat.txt .htaccess
then
echo found
else
(cat /home/tstepien/Desktop/code/testing/addthat.txt && cat .htaccess) > .htaccess.post && mv .htaccess.post .htaccess
fi
fi' {} \;
しかし、それは「grepping」のすべての言葉です。addthat.txt
の例addthat.txt
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} /xmlrpc.php [NC]
RewriteRule .* - [F,L]
.htaccess (スクリプトを使用する前)
==========
here code
==========
.htaccess(script -soif
ステートメントを使用して再度実行すると、「found」と表示され、内容は再度追加されませんaddthat.txt
。)
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} /xmlrpc.php [NC]
RewriteRule .* - [F,L]
==========
here some code
==========
つまり、 にテキストがあれば の内容を に追加し.htaccess
ないでください。addthat.txt
addthat.txt
.htaccess
答え1
探しているフレーズが近いです。
grep -q -e "$(cat addthat.txt)" .htaccess
答え2
誰かがここにこの答えを書いたが、今は削除されました。それは魅力のように動作します。
grep -qxf /home/tstepien/Desktop/code/testing/addthat.txt .htaccess
-q:自動モード(終了コードのみ)
-f 提供されたファイルで検索
-x 全行検索