Linux

[Linux] 텍스트 처리

crown28 2024. 5. 13. 11:04

  1. $ wc -l /etc/passwd
    • /etc/passwd 파일의 줄 수(line count)를 세어 출력합니다.
    • wc -l은 파일의 줄 수를 세는 명령입니다.
  2. $ wc -w /etc/passwd
    • /etc/passwd 파일의 단어 수(word count)를 세어 출력합니다.
    • wc -w는 파일의 단어 수를 세는 명령입니다.
  3. $ wc -c /etc/passwd
    • /etc/passwd 파일의 문자 수(character count)를 세어 출력합니다.
    • wc -c는 파일의 문자 수를 세는 명령입니다.
  4. $ ls / | wc -l
    • / 디렉토리의 파일 및 디렉토리 수를 세어 출력합니다.
    • ls /는 루트 디렉토리의 내용을 나열하며, wc -l은 해당 목록의 줄 수(파일 및 디렉토리 수)를 세는 명령입니다.
  5. $ ls / | wc -l -
    • 이 명령어는 유효한 형식이 아니므로 실행될 수 없습니다.
    • wc -l -는 wc 명령어에 유효하지 않은 옵션(-)을 사용한 것으로, 올바른 사용법이 아닙니다.

wc 명령어는 파일의 행 수(line count), 단어 수(word count), 문자 수(character count)를 세는 데 사용됩니다. 각 옵션(-l, -w, -c)은 각각 행 수, 단어 수, 문자 수를 세는 역할을 합니다. ls 명령어와 조합하여 디렉토리의 파일 및 디렉토리 수를 세는 것도 가능합니다.

 

  1. $ ps x
    • ps x 명령은 현재 사용자의 모든 프로세스를 보여줍니다.
    • -x 옵션은 현재 사용자의 모든 프로세스를 보여주는 확장된 표시를 수행합니다.
  2. $ ps x | sort -k 5
    • ps x 명령의 출력을 받아서 프로세스 리스트를 정렬합니다.
    • -k 5 옵션은 정렬할 때 5번째 필드(열)을 기준으로 정렬합니다. 여기서는 CPU 사용량을 의미할 수 있습니다.
    • 프로세스를 CPU 사용량이 높은 순서대로 정렬하여 출력합니다.
  3. $ sort number.txt
    • number.txt 파일의 내용을 정렬합니다.
    • sort 명령은 기본적으로 각 줄의 사전순으로 정렬합니다.
  4. $ sort -n number.txt
    • number.txt 파일의 내용을 숫자 순서대로 정렬합니다.
    • -n 옵션은 숫자를 기준으로 정렬합니다.
  5. $ sort -r file1
    • file1 파일의 내용을 역순으로 정렬합니다.
    • -r 옵션은 역순(reverse)으로 정렬합니다.
  6. $ ls -l /bin/ | sort -rn -k 5
    • /bin/ 디렉토리의 파일 목록을 자세히(long format) 출력하고, 파일 크기를 기준으로 역순으로 정렬합니다.
    • -rn 옵션은 역순(reverse)으로 정렬하고, 숫자로 인식하여 정렬합니다.
    • -k 5 옵션은 정렬할 때 5번째 필드(열)을 기준으로 정렬합니다. 여기서는 파일 크기를 나타낼 수 있습니다.

  1. $ sort file3 | uniq
    • sort file3: file3 파일의 내용을 정렬합니다.
    • uniq: 연속적인 중복된 행을 필터링하여 출력합니다.
    • 이 명령어는 sort로 파일을 정렬하고, 그 결과를 uniq로 전달하여 중복된 행을 제거합니다.
    • 하지만 uniq는 연속적으로 중복된 행만 제거하므로, 정렬된 파일에서만 중복 제거가 이루어집니다.
  2. $ sort -u file3
    • sort -u file3: file3 파일의 내용을 정렬하고, 중복된 행을 제거한 후 출력합니다.
    • -u 옵션은 sort 명령의 기능 중 하나로, 중복된 행을 제거합니다.
    • 이 명령어는 sort 명령의 결과에서 바로 중복 제거를 수행하기 때문에, 중복된 행이 존재하지 않는 정렬된 파일을 반환합니다.

 

 

  1. $ sort file2 | uniq -c | sort -rn
    • sort file2: file2 파일의 내용을 정렬합니다.
    • uniq -c: 연속된 중복된 행을 카운트하고, 각 행과 그 행의 등장 횟수를 출력합니다.
    • sort -rn: 카운트된 행을 등장 횟수(-c 옵션에 의해 생성된 카운트 값)의 내림차순으로 정렬합니다.
    • 이 명령어는 file2에서 중복된 행을 카운트하고 등장 횟수에 따라 내림차순으로 정렬된 결과를 출력합니다.
  2. $ sort file2 | uniq -c | sort -n
    • sort file2: file2 파일의 내용을 정렬합니다.
    • uniq -c: 연속된 중복된 행을 카운트하고, 각 행과 그 행의 등장 횟수를 출력합니다.
    • sort -n: 카운트된 행을 등장 횟수(-c 옵션에 의해 생성된 카운트 값)의 오름차순으로 정렬합니다.
    • 이 명령어는 file2에서 중복된 행을 카운트하고 등장 횟수에 따라 오름차순으로 정렬된 결과를 출력합니다.

즉, 첫 번째 명령어는 등장 횟수가 많은 순서대로 정렬된 결과를 보여주고, 두 번째 명령어는 등장 횟수가 적은 순서대로 정렬된 결과를 보여줍니다.

 

 

 

  1. $ cut -d : -f 7 /etc/passwd
    • cut -d : -f 7 /etc/passwd: /etc/passwd 파일의 각 행에서 : (콜론)을 구분자로 사용하여 7번째 필드를 추출하여 출력합니다.
    • -d : 옵션은 필드 구분자로 : (콜론)을 사용한다는 것을 지정합니다.
    • -f 7 옵션은 7번째 필드를 선택하여 출력합니다. 여기서 7번째 필드는 사용자의 로그인 쉘을 나타냅니다.
  2. $ cut -d : -f 1,6,7 /etc/passwd
    • cut -d : -f 1,6,7 /etc/passwd: /etc/passwd 파일의 각 행에서 : (콜론)을 구분자로 사용하여 1번째, 6번째, 7번째 필드를 추출하여 출력합니다.
    • -d : 옵션은 필드 구분자로 : (콜론)을 사용한다는 것을 지정합니다.
    • -f 1,6,7 옵션은 1번째, 6번째, 7번째 필드를 선택하여 출력합니다. 여기서 1번째 필드는 사용자 이름(계정), 6번째 필드는 사용자의 홈 디렉토리 경로, 7번째 필드는 사용자의 로그인 쉘을 나타냅니다.

 

$ tail /etc/passwd
$ tail -n 1 /etc/passwd
$ head -n 1 /etc/passwd
  1. $ tail /etc/passwd
    • tail /etc/passwd: /etc/passwd 파일의 마지막 10줄을 화면에 출력합니다.
    • tail 명령은 파일의 마지막 부분을 보여주는 명령어이며, 기본적으로 마지막 10줄을 출력합니다.
  2. $ tail -n 1 /etc/passwd
    • tail -n 1 /etc/passwd: /etc/passwd 파일의 마지막 줄(마지막 행)을 화면에 출력합니다.
    • -n 1 옵션은 tail 명령어에게 마지막 1줄만 출력하도록 지시합니다.
  3. $ head -n 1 /etc/passwd
    • head -n 1 /etc/passwd: /etc/passwd 파일의 첫 번째 줄(첫 번째 행)을 화면에 출력합니다.
    • -n 1 옵션은 head 명령어에게 첫 번째 1줄만 출력하도록 지시합니다.