> 텍스트 처리 및 검색 > cut

cut: 텍스트 파일에서 특정 문자 또는 필드 추출

`cut` 명령어는 텍스트 파일이나 표준 입력에서 각 줄의 특정 부분(문자, 바이트, 필드)을 추출하여 표준 출력으로 내보내는 데 사용됩니다. 주로 데이터 처리 및 보고서 생성 시 특정 열을 선택적으로 추출할 때 유용합니다.

개요

`cut` 명령어는 텍스트 데이터에서 원하는 부분을 잘라내는 데 특화되어 있습니다. 문자 단위(-c), 바이트 단위(-b), 필드 단위(-f)로 추출할 수 있으며, 특히 정형화된 텍스트 파일에서 특정 열을 선택적으로 추출할 때 매우 강력합니다.

주요 기능

  • 문자(character) 단위 추출 (-c)
  • 바이트(byte) 단위 추출 (-b)
  • 필드(field) 단위 추출 (-f)
  • 사용자 정의 구분자 지정 (-d)

주요 옵션

`cut` 명령어는 텍스트에서 추출할 단위를 지정하는 다양한 옵션을 제공합니다. 특히 `-c` 옵션은 문자 단위로 데이터를 추출할 때 사용됩니다.

추출 방식

구분자 지정

생성된 명령어:

명령어를 조합해 보세요.

설명:

`cut` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

`cut` 명령어의 다양한 활용 예시를 통해 문자 및 필드 추출 방법을 익힐 수 있습니다.

각 줄의 첫 5개 문자 추출

echo "Hello World" | cut -c 1-5

입력된 문자열에서 1번째부터 5번째 문자까지를 추출합니다.

각 줄의 7번째 문자 추출

echo "Hello World" | cut -c 7

입력된 문자열에서 정확히 7번째 문자만 추출합니다.

여러 문자 위치 추출

echo "Hello World" | cut -c 1,5,7

입력된 문자열에서 1, 5, 7번째 문자를 추출합니다.

파일에서 특정 문자 범위 추출

head -n 3 /etc/passwd | cut -c 6-

`/etc/passwd` 파일의 각 줄에서 6번째 문자부터 끝까지를 추출합니다.

탭으로 구분된 파일에서 첫 번째 필드 추출

echo -e "apple\torange\tbanana" | cut -f 1

탭으로 구분된 문자열에서 첫 번째 필드만 추출합니다.

콜론으로 구분된 파일에서 사용자 이름 추출

head -n 3 /etc/passwd | cut -d: -f1

`cut -d:` 옵션을 사용하여 콜론을 구분자로 지정하고, `/etc/passwd` 파일에서 첫 번째 필드(사용자 이름)를 추출합니다.

팁 & 주의사항

`cut` 명령어를 사용할 때 유용한 팁과 주의할 점입니다.

  • **다중 바이트 문자 처리**: `cut -c`는 유니코드 문자를 올바르게 처리하지 못할 수 있습니다. 특히 한글과 같은 멀티바이트 문자가 포함된 경우, `awk`나 `sed`를 사용하는 것이 더 안전합니다. `cut -b`는 바이트 단위로 작동하므로, 멀티바이트 문자가 깨질 수 있습니다.
  • **`awk`와의 비교**: `cut`은 간단한 열/필드 추출에 빠르고 효율적입니다. 하지만 더 복잡한 조건부 처리, 데이터 조작 또는 여러 구분자를 처리해야 할 때는 `awk`가 더 강력한 대안입니다.
  • **범위 지정**: `-c 1-5`는 1번째부터 5번째 문자까지, `-c -5`는 첫 번째부터 5번째 문자까지, `-c 5-`는 5번째 문자부터 끝까지를 의미합니다. 이 규칙은 `-b`와 `-f`에도 동일하게 적용됩니다.

관련 명령어

기능적으로 유사하거나 함께 자주쓰이는 명령어들입니다.


동일 카테고리 명령어