이것은 파일의 일부입니다
N W N N N N N N N N N
N C N N N N N N N N N
N A N N N N N N N N N
N N N N N N N N N N N
N G N N N N N N N N N
N C N N N C N N N N N
N C C N N N N N N N N
각 줄에서 "N"이 아닌 모든 문자의 총 개수를 계산하고 싶습니다.
내 소원 출력
1
1
1
0
1
2
2
답변1
암소 비슷한 일종의 영양앗해결책:
awk -v FPAT='[^N[:space:]]' '{ print NF }' file
FPAT='[^N[:space:]]'
- 필드 값의 패턴을 정의합니다(N
문자 및 공백을 제외한 모든 문자).
예상 출력:
1
1
1
0
1
2
2
답변2
awk '{ gsub("[ N]",""); print length() }'
답변3
또 다른 awk
방법(반환-1빈 줄의 경우).
awk -F'[^N ]' '$0=NF-1""' infile
또는 복잡한 경우에는 반환됩니다.-1빈 줄에,0빈(탭/공백) 줄에만 해당됩니다.
awk -F'[^N \t]+' '$0=NF-1""' infile
답변4
선택하다앗해결책:
awk '{ print gsub(/[^N[:space:]]/,"") }' file
gsub(...)
- 이gsub()
함수는 대체가 이루어진 횟수를 반환합니다.
산출:
1
1
1
0
1
2
2