Linux command - nl

sycho·2024년 1월 3일
0

Linux Commands

목록 보기
29/30

nl

  • documentation

  • number of line의 약자다.

  • 텍스트 줄에다가 숫자를 붙인다.

  • 파일을 입력으로 받으며, 파일이 주어지지 않으면 표준 입력을 입력으로 받는다. 결과는 표준출력으로 나온다.

basics

nl [OPTION]... [FILE]...
  • OPTION : nl 기능 설정

  • FILE : 대상 파일.

  • 밑은 예시에 사용한 파일

sycho@DESKTOP-4RPUOID:~$ cat example.txt

potato
strawberry
lettuce
cheese

cabbage
  • 기본 적용시 다음과 같이 나온다.
sycho@DESKTOP-4RPUOID:~$ nl example.txt

     1  potato
     2  strawberry
     3  lettuce
     4  cheese

     5  cabbage

OPTIONS and applications

  • 몇몇 option은 STYLE이나 CC를 추가 parameter로 받는다.

  • STYLE의 경우

    • a : 모든 줄에 숫자 부여
    • t : 비어있지 않은 줄에만 숫자 부여
    • n : 모든 줄에 숫자 부여하지 않음
    • pBRE : BRE에 해당하는 basic regular expression을 포함하는 줄만 숫자 부여
  • CC의 경우

    • ln : 좌측 정렬
    • rn : 우측 정렬
    • rz : 우측 정렬인데 앞의 빈공간에 전부 0을 집어넣음.

공백 줄도 숫자 부여 (-b a)

  • -b option은 body line에 숫자를 메길 때 어떤 스타일로 할지를 지정한다.

  • 여기에 a를 집어넣으면 모든 body line에 숫자를 집어넣으라는 것이 되며, 이 때문에 모든 줄에 숫자가 부여된다.

sycho@DESKTOP-4RPUOID:~$ nl -b a example.txt
     1
     2  potato
     3  strawberry
     4  lettuce
     5  cheese
     6
     7  cabbage

여러 연속된 비어있는 줄을 하나로 취급하기 (-l)

  • -l은 몇개의 연속된 빈줄을 하나로 취급할지를 지정한다. 개수는 숫자로 지정.
sycho@DESKTOP-4RPUOID:~$ cat example.txt

potato
strawberry
lettuce
cheese




cabbage

sycho@DESKTOP-4RPUOID:~$ nl -b a -l 4 example.txt

     1  potato
     2  strawberry
     3  lettuce
     4  cheese



     5
     6  cabbage

줄 번호를 몇씩 증가시킬지 정하기 (-i)

  • 기본은 번호가 1씩 증가하는데, -i를 통해 이를 조정하는게 가능하다. 숫자로 지정.
sycho@DESKTOP-4RPUOID:~$ nl -b a -i 2 example.txt
     1
     3  potato
     5  strawberry
     7  lettuce
     9  cheese
    11
    13
    15
    17
    19  cabbage

시작 번호 설정 (-v)

  • 시작 번호를 1 대신 다른 번호로 설정. 숫자로 지정.
sycho@DESKTOP-4RPUOID:~$ nl -b a -v 6 example.txt
     6
     7  potato
     8  strawberry
     9  lettuce
    10  cheese
    11
    12
    13
    14
    15  cabbage

숫자 뒤에 특정 문자열 집어넣기 (-s)

  • 숫자 뒤에 추가하는 문자열을 설정.
sycho@DESKTOP-4RPUOID:~$ nl -b a -s " howdy " example.txt
     1 howdy
     2 howdy potato
     3 howdy strawberry
     4 howdy lettuce
     5 howdy cheese
     6 howdy
     7 howdy
     8 howdy
     9 howdy
    10 howdy cabbage

숫자의 열 위치 설정 (-w)

  • 숫자가 몇번째 열에 위치할지를 설정.
sycho@DESKTOP-4RPUOID:~$ nl -b a -w 1 example.txt
1
2       potato
3       strawberry
4       lettuce
5       cheese
6
7
8
9
10      cabbage
sycho@DESKTOP-4RPUOID:~$ nl -b a -w 2 example.txt
 1
 2      potato
 3      strawberry
 4      lettuce
 5      cheese
 6
 7
 8
 9
10      cabbage
sycho@DESKTOP-4RPUOID:~$ nl -b a -w 4 example.txt
   1
   2    potato
   3    strawberry
   4    lettuce
   5    cheese
   6
   7
   8
   9
  10    cabbage

Basic Regular Expression을 포함하는 줄에 대해서만 번호 부여 (-b pBRE)

sycho@DESKTOP-4RPUOID:~$ nl -b pl -w 4 example.txt

     potato
     strawberry
   1    lettuce
     cheese




     cabbage

숫자 열 부분 정렬 설정 (-n)

  • 숫자 열 부분을 앞에 말한 CC설정을 통해 좌측/우측 정렬을 할지 설정.
sycho@DESKTOP-4RPUOID:~$ nl -b a -n ln example.txt
1
2       potato
3       strawberry
4       lettuce
5       cheese
6
7
8
9
10      cabbage
sycho@DESKTOP-4RPUOID:~$ nl -b a -n rn example.txt
     1
     2  potato
     3  strawberry
     4  lettuce
     5  cheese
     6
     7
     8
     9
    10  cabbage
sycho@DESKTOP-4RPUOID:~$ nl -b a -n rz example.txt
000001
000002  potato
000003  strawberry
000004  lettuce
000005  cheese
000006
000007
000008
000009
000010  cabbage
profile
CS 학부생, 핵심 관심 분야 : System/Architecture/Backend

0개의 댓글