나는 다음과 같은 값을 얻으려고 노력하고 있습니다.
"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"