이것이 가능한지 궁금합니다. 다양한 파일의 텍스트를 대량으로 바꾸고 싶은데 문제가 되지 않습니다. 내가 알아낼 수 없거나 가능하더라도 특정 방식으로 텍스트를 바꾸는 것입니다.
예를 들어:
String = XXXXX_name($var1);
XXXX는 고정되어 있으므로 XXXX는 예를 들어 충분히 간단하게 YYYY로 대체됩니다. 하지만 더 복잡한 부분은 다음과 같습니다.
($var1);
다른 변수를 삽입하고 싶으므로 일치 항목은 ");"
<-- 이 앞에 삽입하세요. 그러나 문자열에 이미 두 개의 변수가 있으면 ($var1,$var2);
아무것도 삽입하지 마세요.
if $ > 1
이제 다른 것을 추가하려면 Var1과 Var2를 다양한 것으로 호출할 수 있으므로 일치 항목은 내부에 있어야 하며 ()
아무것도 하지 않고 앞에 If $ = 1 inside ()
삽입해야 합니다.", $var2"
);
문자열 = XXXXX_name($var1);
다음과 같아야 합니다. 문자열 =YYYYY_name($var1, var2);
답변1
이 같은?
$ echo 'String = XXXXX_name($var1); ' |
sed -E -e 's/XXXXX_name\((\$[[:alnum:]_]+)\);/YYYYY_name\(\1, \$var2\);/'
String = YYYYY_name($var1, $var2);
확장 정규식에서 인용되지 않은 괄호는 그 안에 있는 부분을 캡처하고 sed는 \1
캡처된 부분을 교체 부분에 다시 넣습니다.