0
일부 페이지를 다른 호스트로 이동해야하지만 db IP가 분리됩니다.값을 찾고 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"
나는 그 반대의 경우도 마찬가지 변수 quotevariants 및 여러 조합을 시도 : 그래서 나는 이름의 값을 찾을 수 있습니까 내가이 그것을 시도 IP
위의 두 라인을 교체해야합니다. 또한 sed
및 perl
을 시도했지만 출력으로 쓰레기가 발생하거나 EOF
이후에 줄 바꿈 문제가 발생하거나 gawk
은 줄 바꿈을 무시하고 모든 명령을 처리하려고 시도합니다.
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'입니까? –
여기에 formattingussue를 붙여서 붙여 넣기했습니다. http://pastebin.com/62XG4jkw 필자는 perl에서도 사용했기 때문에 실수였습니다. 죄송합니다. – Avalun