각 값 주위의 대괄호 []와 따옴표를 제거하고 시작과 끝에 따옴표를 추가하고 싶습니다.
X = ['8922','9292','3220']
다음 출력을 원합니다.
Y = '8922,9292,3220'
어떻게 해야 하나요? 제안해주세요.
답변1
매우 간단합니다. 여는 괄호와 따옴표를 작은따옴표로 바꾸고, 따옴표 사이의 쉼표를 쉼표로 바꾸고, 닫는 괄호의 따옴표를 다시 작은따옴표로 바꿉니다.
sed "s/\['/'/;s/','/,/g;s/']/'/" file
비결은 종종 패턴의 고유한 점을 찾는 것입니다.
답변2
X
값이 다음과 같이 설정된 쉘 변수가 있다고 가정하십시오 .
X="['8922','9292','3220']"
그런 다음 를 사용하여 작은따옴표와 대괄호를 제거할 수 있습니다 tr
. 동시에 새 작은따옴표를 삽입할 수도 있습니다.
Y="'$( printf '%s' "$X" | tr -d "[]'" )'"
다음을 사용하면 bash
약간 zsh
더 간결한 방법으로 이 작업을 수행할 수 있습니다 .
Y="'${X//[][\']/}'"