
변수가 있어요
local= "[ 'service center','New' ]"
다음 awk 코드를 사용하여 대괄호와 작은따옴표를 제거하고 있습니다.
local=gensub(/[\[\]']+/, "", "g", local);
예상되는 O/P는 다음과 같습니다.
local =" service center,New "
내가 작성한 코드가 작동하지 않습니다
답변1
쉼표를 구두점이 아닌 문자로 바꾸고, 나머지 구두점 문자를 제거하고, 쉼표를 복원할 수 있습니다.
awk -v local="[ 'service center','New' ]" '
BEGIN {
gsub(/,/, SUBSEP, local)
gsub(/[[:punct:]]/, "", local)
gsub(SUBSEP, ",", local)
printf("local=\"%s\"\n", local)
}'
local=" service center,New "
여기서는 다음과 같은 내장 SUBSEP 변수를 사용하고 있습니다.GNU awk 매뉴얼그러므로:
기본값은 awk 프로그램이나 대부분의 입력 데이터에 나타날 가능성이 없는 인쇄되지 않는 문자를 포함하는
SUBSEP
문자열입니다."\034"
답변2
아래 명령을 찾으십시오. 정상적으로 작동합니다.
cat filename
local= "[ 'service center','New' ]"
sed "s/[^a-zA-Z,= \" ]//g" filename
output: local= " service center,New "
Command: sed "s/[^a-zA-Z,= \" ]//g" filename