나는 다음과 같은 값을 얻으려고 노력하고 있습니다.
"909,999"
다음과 같습니다(예에서는 아무 것도 대체하지 않음).
sed 's/["][0-9]+[,][0-9]+["]//g'
그러나 이것은 작동하지 않습니다.
답변1
패턴을 바꾸려면 @Kusalananda가 제안한 대로 sed -E
문자를 사용하거나 이스케이프 할 수 있습니다.+
$ printf '"123.456"\n"909,999"\n"100"\n' | sed -E 's/"[0-9]+,[0-9]+"//g'
"123.456"
"100"
또는
$ printf '"123.456"\n"909,999"\n"100"\n' | sed 's/"[0-9]\+,[0-9]\+"//g'
"123.456"
"100"
g
이 예에서는 한 줄에 하나의 교체만 있으므로 이는 필요하지 않습니다 .
일치하는 라인을 삭제하려면 d
패턴 삭제 공간을 사용할 수 있습니다.
$ printf '"123.456"\n"909,999"\n"100"\n' | sed '/"[0-9]\+,[0-9]\+"/d'
"123.456"
"100"