linux (12) sed 와 awk

2976 단어
sed 자 체 는 파이프라인 명령 으로 standard input 를 분석 할 수 있 고 데 이 터 를 대체, 삭제, 추가, 특정 줄 캡 처 등 을 할 수 있 습 니 다.
sed [-nefr] [action]
  • - n: silent 모드 를 사용 하여 sed 처 리 된 줄 만 표시 합 니 다
  • - e: 명령 행 인터페이스 에서 sed 동작 편집 을 직접 합 니 다.
  • - f: sed 의 동작 을 한 파일 에 직접 쓰 고 - f filename 은 filename 의 sed 동작 을 수행 할 수 있 습 니 다.
  • - r: sed 의 동작 은 연장 형 정규 표현 식 의 문법 을 지원 합 니 다.
  • - i: 화면 으로 출력 하 는 것 이 아니 라 읽 은 파일 내용 을 직접 수정 합 니 다.
  • - p: 출력
  • 액 션 설명
    [n1 [,n2]] function
  • n1, n2: 반드시 존재 하 는 것 이 아니 라 동작 을 하 는 줄 수 를 선택 하 는 것 을 대표 합 니 다.
  • 기능 설명
  • a: 새로 추 가 됩 니 다. a 후 문자열 을 연결 합 니 다. 이 문자열 들 은 현재 줄 의 다음 줄 (새로 추 가 됨) 에 나타 납 니 다
  • c: 대체, c 후 문자열 을 연결 하면 n1, n2 사이 의 줄
  • 을 대체 할 수 있 습 니 다.
  • d: 삭제. 받 지 않 음.
  • i: 삽입 후 문자열 을 연결 하여 현재 이전 줄 에 나타 납 니 다 (추가).
  • s: 대체. 'sed s/ / /g'
    sed -i 's/\/\/.*//'  *.txt
    
  • 모든 txt 파일 의 / / 및 그 후의 내용 제거 (파일 직접 업데이트)
    awk
    줄 처리 명령, 기본적으로 빈 칸 을 경계 로 한 줄 을 여러 항목 으로 나 눕 니 다.
    awk '    1{  1}     2{  2}...' filename
    

    예컨대
    last -n 5 |awk '{print $1 "\t" $3}'
    
    wang    :0
    reboot  boot
    wang    :0
    reboot  boot
    wang    :0
    wtmp    Thu
    

    0 대표 줄
    awk 내장 변수
    변수 이름
    대표 적 의미
    NF
    줄 당 ($0) 필드 총수
    NR
    현재 awk 에서 처리 하 는 것 은 "몇 번 째 줄" 데이터 입 니 다.
    FS
    현재 구분자, 기본 값 은 공백 키
    예컨대
    last -n 5 | awk '{print $1 "\t lines: " NR "\t columes" NF}'
    
    wang     lines: 1    columes11
    reboot   lines: 2    columes10
    wang     lines: 3    columes10
    reboot   lines: 4    columes10
    wang     lines: 5    columes10
         lines: 6    columes0
    wtmp     lines: 7    columes7
    

    awk 키워드
    awk 변 수 를 설정 하려 면 BEGIN 과 END 를 사용 할 수 있 습 니 다.
    예컨대
    cat /etc/passwd | awk 'BEGIN {FS=":"} $3 < 10 {print $1 "\t " $3} '
    
    root     0
    daemon   1
    bin  2
    sys  3
    sync     4
    games    5
    man  6
    lp   7
    mail     8
    news     9
    

    diff 파일 비교. 행동 단위 로.
    diff [-bBi] source dest
  • - b: 한 줄 에서 여러 개의 공백 차이 만 무시 합 니 다
  • - B: 공백 줄 의 차 이 를 무시 합 니 다
  • - i: 대소 문자 의 차 이 를 무시 합 니 다
  • cut - [bcdf] filename 파일 에서 필요 한 정 보 를 추출 하 는 이기
    매개 변수 설명
  • - b 바이트 로 작성
  • cmp 바이트 비교.
    cmp [-l] file1 file2
  • - l 모든 다른 점 의 바이트 를 표시 합 니 다. 기본 값 은 첫 번 째 로 발 견 된 차이 점 만 출력 합 니 다
  • 이것 은 기본적으로 쓸 줄 모 르 니 더 이상 쓰 지 않 겠 다.
    patch
    패 치 파일
    patch -pN < patchfile
    patch -R -pN < patchfile
  • - p: '몇 층 디 렉 터 리 취소' 라 는 뜻
  • - R: 복원 을 대표 하고 친 서 류 를 원래 의 버 전 으로 복원 합 니 다
  • printf 는 일부 특수 기 호 를 통 해 데 이 터 를 포맷 하여 출력 할 수 있 습 니 다.
  • awk 는 '필드' 를 근거 로 데이터 의 재 정리 와 출력 을 할 수 있다.
  • 파일 의 비교 에서 diff 와 cmp 를 이용 하여 비교 할 수 있 습 니 다. 그 중에서 diff 는 주로 일반 텍스트 의 신 구 버 전 비교
  • 에 사 용 됩 니 다.
  • patch 명령 은 오래된 데 이 터 를 새 버 전 으로 업데이트 할 수 있 습 니 다 (주로 diff 에서 patch 의 패 치 소스 파일 을 만 듭 니 다)
  • 좋은 웹페이지 즐겨찾기