'
./scripttemp.perl의 5번째 줄에서 "" 연산자 근처에 있는 숫자 sed -i -r "4"를 찾습니다(4 이전에 연산자가 누락되었습니까?)./scripttemp.perl의 5번째 줄에서 "}" 연산자 근처에 있습니다. error.txt""가 연산자에서 발견되었습니다(" error.txt" 앞에 연산자가 누락되었나요?)./scripttemp.perl 5행 ""sed -i -r "4" 근처에 구문 오류가 있습니다./scripttemp.perl 구문 오류 "s/[ -.*-]//g}" 5행 근처 컴파일 오류로 인해 ./scripttemp.perl 실행이 중단되었습니다. '
스크립트를 실행할 때 다음 오류가 발생합니다.
**#!/usr/bin/perl
use warnings;
use strict;
exec("sed -i -r "4{s/\{\+//; s/\+}//; s/\[-.*-]//g}" error.txt");**
무슨 문제인지 말해주세요.
답변1
이는 큰따옴표 사용에 따른 문제입니다. 이스케이프 처리하지 않는 한 큰따옴표 "내부"에는 큰따옴표를 사용할 수 없습니다. 대신 큰따옴표를 이스케이프하거나 따옴표 대신 작은따옴표를 사용하는 것이 더 좋습니다.
#!/usr/bin/perl
use warnings;
use strict;
exec("sed -i -r '4{s/\{\+//; s/\+}//; s/\[-.*-]//g}' error.txt");