linux 명령어 cut
필요한 필드만 출력 하기.
$ cut
Linux 명령어 cut
파일의 텍스트 데이터를 필드 또는 문자 기준으로 추출하는 명령어
1. 자세한 설명
cut
명령어는 Linux에서 파일의 텍스트 데이터를 필드, 문자, 또는 바이트 기준으로 추출하는 데 사용됩니다. 이 명령어는 데이터를 분리하거나 특정 부분만 가져오는 작업을 위해 활용됩니다. 데이터 처리가 필요한 스크립트 작성 시 매우 유용한 도구입니다.
2. 사용법
- 필드 기준으로 데이터 추출
cut -f [필드 번호] -d [구분자] [파일 이름]
구분자를 기준으로 특정 필드 데이터를 추출합니다. - 문자 기준으로 데이터 추출
cut -c [문자 범위] [파일 이름]
지정된 문자 위치의 데이터를 추출합니다. - 바이트 기준으로 데이터 추출
cut -b [바이트 범위] [파일 이름]
특정 바이트 범위를 추출합니다.
3. 자세하게 설명
cut
명령어는 다양한 옵션을 지원합니다:
- -f [필드]: 추출할 필드를 지정합니다.
- -d [구분자]: 필드를 분리하는 구분자를 지정합니다.
- -c [문자 범위]: 특정 문자의 위치를 지정합니다.
- -b [바이트 범위]: 특정 바이트의 데이터를 추출합니다.
- –complement: 지정된 범위를 제외한 데이터를 출력합니다.
- –output-delimiter=[구분자]: 출력 데이터에 사용할 구분자를 지정합니다.
4. 자세한 명령어 사용법
다음은 cut
명령어의 다양한 사용 예제입니다:
# 기본적으로 첫 번째 필드 추출 $ cut -f1 -d"," file.txt # 특정 문자 범위 추출 $ cut -c1-5 file.txt # 특정 바이트 범위 추출 $ cut -b1-10 file.txt # 여러 필드 추출 $ cut -f1,3 -d"," file.csv # 출력 구분자 변경 $ cut -f1,3 -d"," --output-delimiter="|" file.csv # 필드 제외 출력 $ cut -f1 --complement -d"," file.csv # 텍스트 파일의 첫 10 문자 추출 $ cut -c1-10 textfile.txt # 특정 구분자를 기준으로 첫 번째 필드 추출 $ cut -f1 -d":" /etc/passwd # 스크립트를 통해 자동 데이터 처리 #!/bin/bash while IFS=, read -r col1 col2 col3; do echo "필드1: $col1, 필드3: $col3" done < <(cut -f1,3 -d"," data.csv) # 파일에서 빈칸 제거 후 특정 문자 출력 $ cat file.txt | tr -d ' ' | cut -c1-5 # 여러 필드 결합하여 출력 $ cut -f1-3 -d"," file.csv | paste -sd, - # 텍스트 파일의 마지막 문자 제외 $ cut -c1-$(($(wc -c < textfile.txt)-1)) textfile.txt # 필드 데이터를 JSON 형태로 변환 $ cut -f1,2 -d"," file.csv | jq -R 'split(",") | {field1: .[0], field2: .[1]}' # 특정 행 필드만 선택하여 출력 $ sed -n '3p' file.csv | cut -f2 -d"," # 결과를 다른 파일로 저장 $ cut -f1,3 -d"," file.csv > result.txt
위의 예제는 cut
명령어를 사용하여 데이터를 처리하고 변환하는 다양한 방법을 보여줍니다.
No responses yet