wc 명령어는 텍스트 스트림의 여러 속성을 세고 nl은 입력에 생성한 줄 번호를 붙여 씁니다. 둘 다 파일이나 표준 입력을 읽고 결과를 표준 출력으로 보냅니다.
Text-Fu · 레슨 15
wc와 nl
wc로 줄, 단어, 바이트, 문자를 세고 nl로 줄 번호를 붙이는 방법을 배웁니다.
wc 기본 출력 읽기
개수 옵션이 없으면 wc는 줄 바꿈 문자 수, 단어 수, 바이트 수를 출력하고 파일을 지정했을 때는 파일 이름을 뒤에 붙입니다.
$ printf 'red blue\ngreen\n' > colors.txt
$ wc colors.txt
2 3 15 colors.txt
왼쪽부터 다음을 뜻합니다.
- 줄 수로 보고되는 줄 바꿈 문자
2개 - 공백으로 구분된 단어
3개 - 이 ASCII 예제의 바이트
15개
끝에 줄 바꿈이 없는 마지막 텍스트 줄은 wc -l에서 세지 않습니다. 이 옵션은 눈으로 보이는 줄이 아니라 줄 바꿈 문자를 세기 때문입니다.
wc file.txt의 기본 출력에서 처음 세 숫자는 무엇을 나타내나요?
한 가지 개수 요청하기
필요한 측정값만 선택할 수 있습니다.
-l: 줄 바꿈 문자 수-w: 단어 수-c: 바이트 수-m: 현재 로캘에 따른 문자 수
예를 들면 다음과 같습니다.
$ wc -w colors.txt
3 colors.txt
ASCII 텍스트에서는 바이트 수와 문자 수가 같지만 UTF-8 같은 멀티바이트 인코딩에서는 다를 수 있습니다. 파일 이름 피연산자 없이 표준 입력을 사용하면 wc는 일반적으로 파일 이름 레이블을 생략합니다.
$ printf 'one two\n' | wc -w
2
essay.txt의 단어 수만 보고하는 명령어는 무엇인가요?
현재 로캘에서 바이트가 아니라 문자를 세도록 wc에 요청하는 옵션은 무엇인가요?
여러 파일을 지정하면 wc는 파일마다 결과 하나를 출력하고 total 줄을 추가합니다. GNU wc -L은 입력 줄의 최대 표시 너비를 보고합니다.
nl로 비어 있지 않은 줄에 번호 붙이기
기본적으로 nl은 입력의 논리적 본문에서 비어 있지 않은 줄에 번호를 붙입니다. notes.txt의 두 번째 줄이 비어 있다고 가정합니다.
alpha
beta
빈 줄은 유지되지만 번호를 받지 않습니다.
$ nl notes.txt
1 alpha
2 beta
nl은 번호가 붙은 출력을 쓰며 notes.txt를 수정하지 않습니다.
기본적으로 nl notes.txt는 빈 본문 줄을 어떻게 처리하나요?
모든 줄에 번호 붙이기
모든 줄에 번호를 붙이는 본문 번호 스타일 a를 선택하려면 -ba를 사용합니다.
$ nl -ba notes.txt
1 alpha
2
3 beta
다른 옵션으로 서식을 제어할 수 있습니다. 예를 들어 -w 3은 번호 필드 너비를 정하고 -s ': '는 번호 뒤의 구분 기호를 바꿉니다.
빈 줄을 포함해 notes.txt의 모든 본문 줄에 번호를 붙이는 명령어는 무엇인가요?
텍스트 계산과 줄 번호 붙이기를 연습하려면 다음 실습을 진행해 보세요.
- Linux wc 명령어: 텍스트 계산 -
wc로 텍스트 파일의 단어, 줄, 문자를 세는 방법을 연습합니다. - Linux nl 명령어: 줄 번호 붙이기 -
nl로 텍스트 파일의 줄에 번호를 붙이는 방법을 배웁니다. - 단어 수 세기와 정렬 -
wc로 줄, 단어, 문자를 세고 정렬과 결합해 텍스트를 분석합니다.
레슨 완료
wc와 nl 완료
이제 원본을 편집하지 않고 텍스트 스트림을 측정하고 눈에 보이는 줄 번호를 추가할 수 있습니다.
wc의 기본 줄, 단어, 바이트 열을 해석할 수 있습니다.-l,-w,-c,-m으로 한 가지 개수를 선택할 수 있습니다.바이트 수와 문자 수를 구분할 수 있습니다.
기본
nl동작으로 비어 있지 않은 줄에 번호를 붙일 수 있습니다.nl -ba로 빈 줄에도 번호를 붙일 수 있습니다.