다음 두 명령은 텍스트 파일의 두 번째 열에 있는 0이 아닌 정수의 수를 계산하는 데 사용됩니다. 누구든지 정규식을 자세히 설명할 수 있습니까?
grep -c '^[^,]*,[^0][^,]*,' < myfile.txt
sed '/^[^,]*,0,.*/d' < myfile.txt | sed -n '$='
답변1
첫 번째 정규식은 다음을 포함하는 모든 줄을 검색합니다.
'^ - start of line, followed by
[^,]* - 0 or more non-comma characters, followed by
, - a comma, followed by
[^0] - any single character other than a zero, followed by
[^,]* - 0 or more non-comma characters, followed by
,' - a comma
grep -c 일치하는 줄 수를 계산합니다.
두 번째 정규 표현식이 일치합니다.
'/ (the start of the regex)
^ - start of line, followed by
[^,]* - 0 or more non-comma characters, followed by
,0, - a comma then a zero then a comma, followed by
.* - 0 or more other characters
/d' (the end of the regex -- delete the lines matching the preceding expression)