0
SED가 올바르게 작동하는 데 문제가 있습니다.일부 공간이 sed로 교체되지 않습니다.
입력 파일 : 지금 그것을 구문 분석하는 방법을
$ cat txt
# nasty comment
blah blah blah this line is invalid
; this also isn't right
foo = 23 # comment here
blah=76876.8768 -- fubar
yoyo=76
tab_moo = -45.99
// comment
fubar = baz
#dfgpo=sf
####
:
$ cat txt | sed -r 's/(#|--|;|\/\/).*//' | grep '=' | sed -r 's/[[:blank:]]+//'
foo= 23
blah=76876.8768
yoyo=76
tab_moo = -45.99
fubar= baz
목표는 모든 의견과 모든 인라인 공백을 제거하는 것입니다.
왜 공백이 출력에 남아 있는지 알 수 없습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
약한 참고 사항, -r은 GNUism입니다. '-E'로 변경하면'sed'의 GNU 및 non-GNU 버전 모두에서 작동합니다 (예 : BSD, Macs 등) –