0
私は別のホストにいくつかのページを移動する必要がありますが、dbのIPは分割されています。私は、変数、quotevariantsおよびその逆のいくつかの組み合わせでそれを試してみました値を見つけて別の行の別の行をbashで置き換えてください
#!/bin/bash
OUTPUT="$(find /home/user/files/script/test-file -maxdepth 1 -iname file_with_many_sqlconnections.php -exec grep -Hina -B 2 u1_3347 {} \; | grep 172)"
echo "${OUTPUT}"
LINE="$(echo "$OUTPUT" | cut -d"-" -f3)"
echo "${LINE}"
FILE="$(echo "$OUTPUT" | cut -d"-" -f1,2)"
echo "${FILE}"
CONTENT="$(echo "$OUTPUT" | cut -d"-" -f4 | cut -d"." -f4 | cut -d "\"" -f1)"
echo "${CONTENT}"
gawk -v line="$LINE" -v content="$CONTENT" -v file="$FILE" -i inplace "NR=="line"{gsub("content", 177)}1" "$FILE"
: は、だから私は、ユーザー名の値を見つけるのですかとIP
上記の2行を交換する必要があり、私はこれでそれを試してみました。 sed
とperl
も試してみましたが、出力としてガベージがあり、EOF
の後で改行が発生するか、またはgawk
が改行を無視して、すべてのコマンドを1つのコマンドで処理しようとします。
echo
セグメントは、結果の結果が問題ない場合にのみ表示され、シェルに表示されているように表示されます。
問題
$db = mysql_connect("172.1.1.178",
"u2_3456","pass6");
$db = mysql_connect("172.1.1.178",
"u1_3347","pass7");
$db = mysql_connect("172.1.1.178",
"u1_3347","pass7");
$db = mysql_connect("172.1.1.178",
"u2_3456","pass6");
$db = mysql_connect("172.1.1.178",
"u1_3347","pass7");
は次のようになります。
$db = mysql_connect("172.1.1.178",
"u2_3456","pass6");
$db = mysql_connect("172.1.1.180",
"u1_3347","pass7");
$db = mysql_connect("172.1.1.180",
"u1_3347","pass7");
$db = mysql_connect("172.1.1.178",
"u2_3456","pass6");
$db = mysql_connect("172.1.1.180",
"u1_3347","pass7");
$db = mysql_connect("172.1.1.180",
"u1_3347","pass7");
問題
$db = mysql_connect("172.1.1.178",
"u2_3456","pass6");
$db = mysql_connect("172.1.1.178",
"u1_3347","pass7");
サンプルi/pと適切な出力を追加してください/ – Inian
なぜこのタグは 'perl'ですか? –
私はここで書式設定しているので、ペーストビンに入れます http://pastebin.com/62XG4jkw 私はperlでも試しましたので、その場合は間違いでした。申し訳ありません – Avalun