[하루 셸 명령] 텍스트 내용 조작 시리즈 - cut

설명:
cut 열 에 따라 파일 을 나 누 면 각 열 을 구분 하 는 경계선 을 지정 할 수 있 습 니 다.cut 의 용어 에서 모든 열 은 하나의 필드 입 니 다. 즉, 첫 번 째 열 을 말 할 때 첫 번 째 필드 라 고 표현 할 수 있 습 니 다. 
실전:
파일 data. txt 가 있다 고 가정 하면 형식 은 다음 과 같 습 니 다.
NO    Name    Mark    Percent 1    Sarath    45    90 2    Alex    49    98 3    Anu    45    90 
구분자 (경계선 문자) 는 Tab 탭 문자 입 니 다.
만약 내 가 두 번 째 열, 모든 사람의 이름 을 얻 으 려 고 한다 면 어떤 좋 은 방법 이 있 습 니까?이때 컷 은 크게 솜 씨 를 발휘 해 야 한다. 
1. 2, 3 열 을 가 져 오 면 name, mark

  
  
  
  
  1. $cut –f 2,3 data.txt 

2. 3 열 을 제외 한 모든 열 을 획득

  
  
  
  
  1. $cut –f3 –complement data.txt 

3. 다른 경계 부 호 를 취하 면 - d 로 변경 할 수 있 습 니 다.
 가정 datacomma.txt: NO,Name,Mark,Percent 1,Sarath,45,90 2,Alex,49,98 3,Anu,45,90  
 즉:

  
  
  
  
  1. $cut –f2 -d"," data_comma.txt 

 
해독 - help
용법: cut [옵션]... [파일]... 각 파일 에서 지정 한 부분 을 표준 출력 으로 출력 합 니 다.
긴 옵션 에 사용 해 야 할 인 자 는 짧 은 옵션 에 도 필요 합 니 다.  -b, -- bytes = 목록            지정 한 바이트 만 선택  -c, -- characters = 목록       이 문자 들 만 선택  -d, -- delimiter = 분계 부      탭 문자 대신 지정 한 경계 부 호 를 사용 하여 영역 경계 로 합 니 다.  -f, -- fields = 목록           지정 한 도 메 인 만 선택 하기;분계선 이 포함 되 지 않 은 모든 것 을 인쇄 합 니 다.                줄, - s 옵션 이 지정 되 지 않 는 한  -n                (무시)      --complement            선택 한 바이트, 문자 또는 도 메 인 을 보완 합 니 다.  -s, --only-delimited        경계선 이 없 는 줄 을 인쇄 하지 않 습 니 다.      --output - delimiter = 문자열    출력 분계선 문자 로 지정 한 문자열 을 사용 합 니 다. 기본적으로 입력 을 사용 합 니 다.                의 분계 부      --help                  이 도움말 정 보 를 표시 하고 종료 합 니 다.      --version               버 전 정보 보이 기 및 종료
f - b, - c 또는 - f 중 하나만 사용 합 니 다.모든 목록 은 하나의 분 류 를 위 한 것 이거 나, 동시에 표시 할 다른 분 류 를 쉼표 로 구분 할 수 있 습 니 다.입력 순 서 는 읽 기 순서 로 한 번 만 입력 할 수 있 습 니 다.매개 매개 변수 형식 은 범 위 를 다음 과 같이 표시 합 니 다.    N    첫 번 째 부터 세 는 N 번 째 바이트, 문자 또는 도 메 인    N-    N 번 째 부터 줄 이 끝 날 때 까지 모든 문자, 바이트 또는 도 메 인    N-M    N 번 째 부터 M 번 째 사이 (M 번 째 포함) 의 모든 문자, 바이트 또는 도 메 인    -M    첫 번 째 부터 M 번 째 사이 (M 번 째 포함) 의 모든 문자, 바이트 또는 도 메 인
파일 인자 가 없 거나 파일 이 존재 하지 않 을 때 표준 입력 에서 읽 기
 판독:
1. 특정한 열 을 가 져 오 는 문자 나 바 이 트 는 - c, - b 등 을 사용 할 수 있 습 니 다.
2. 어떤 범 위 를 얻 을 수 있다
1 과 2 의 종합 예:
파일 rangedata. txt, 내용 은 다음 과 같 습 니 다.
abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz
운행: $cut rangedata.txt -c-2
인쇄 문자 1 - 2 열
 
좀 더 복잡 하 게:
$cut range_data.txt -c1-3,6-9 --output-delimiter ","
1 - 3 줄, 6 - 9 줄 을 인쇄 하고 쉼표 로 구분 합 니 다.
 
명령 은 비교적 간단 합 니 다. 주로 책 인 을 참고 하여 첨부 파일 에서 형식 이 매우 나 쁜 알파벳 을 볼 수 있 습 니 다. - s 로 그 를 걸 러 내 려 고 합 니 다.

좋은 웹페이지 즐겨찾기