제1 1 장 정규 표현 식: 방과 후 연습 문제 와 답

1. 어떻게 / etc / passwd 의 사용자 uid 가 500 이상 인 줄 을 인쇄 합 니까?
awk -F ':' '$3 > 500' /etc/passwd

2. awk 에서 NR, NF 두 변 수 는 어떤 의 미 를 표시 합 니까?awk -F ':' '{print $NR}' /etc/passwd  어떤 결 과 를 출력 합 니까?
NR 는 행 수 를 나타 내 고 NF 는 모두 몇 단락 이 있 는 지 를 나타 낸다.
awk -F ':' '{print $NR}' /etc/passwd  대응 하 는 줄 수 를 순서대로 인쇄 합 니 다. 첫 번 째 줄 은 첫 번 째 단락 을 인쇄 하고 두 번 째 줄 은 두 번 째 단락 을 인쇄 합 니 다. 마지막 에 빈 줄 을 인쇄 합 니 다.
3. grep 로 1. txt 문서 에 'abc' 또는 '123' 을 포함 하 는 줄 을 걸 러 내 고 걸 러 낸 줄 앞 에 줄 번 호 를 추가 합 니 다.
grep -E -n 'abc|123' 1.txt

4.  grep  -v '^$' 1.txt   이렇게 하면 어떤 줄 을 걸 러 낼 수 있 습 니까?
빈 줄 이 아 닌 줄 을 걸 러 냅 니 다.
5. '.'   '*' 와  각각 무슨 뜻 을 표시 합 니까?'?'어떤 의 미 를 나타 내 는 지, 이 다섯 개의 기 호 는 grep 에서 사용 할 수 있 습 니까? egrep, sed, awk 에서 사용 할 수 있 습 니까?
  • '': 임의의 문 자 를 나타 낸다.
  • '*': 앞 에 있 는 그 문 자 는 0 개 또는 여러 개 임 을 나타 낸다. 즉, 앞 에 있 는 그 문 자 는 존재 하지 않 을 수도 있 고 여러 개 있 을 수도 있다.
  • '. *': 0 개 이상 의 임 의 문 자 를 나타 내 며 빈 줄 을 포함 합 니 다.
  • '+': 앞 에 가 까 운 문자 가 하나 이상 있 음 을 나타 낸다.
  • '?':앞 에 인접 한 문자 가 0 개 또는 1 개 임 을 나타 낸다.

  • grep 와 sed 는 '', '*', '*' 를 사용 할 수 있 지만 '+' 와 '?' 를 사용 할 수 없습니다.  egrep 와 awk 는 모두 사용 할 수 있 습 니 다.
    6. grep 에 {} 을 사용 합 니 다. 어떤 경우 에 사용 합 니까?
    {} 내 부 는 숫자 로 앞의 문자 가 중복 되 는 횟수 를 표시 합 니 다.숫자 는 하나의 숫자 {n} 일 수도 있 고 하나의 구간 {n1, n2} 일 수도 있 습 니 다.문자열 에 {} 좌우 에 탈 의 문자 '\' 를 붙 여야 합 니 다.
      , grep  'o\{3\}' /etc/passwd       //   3   'o'  

    7. sed 는 텍스트 파일 을 직접 변경 할 수 있 는 옵션 이 있 습 니 다. 어떤 옵션 입 니까?
    -i

    8. sed -i 's/.*ie//;s/["|&].*//' file  이 명령 은 어떤 조작 을 표시 합 니까?
    이 명령 은 두 부분 으로 나 뉘 었 습 니 다. 먼저 첫 번 째 부분 은 file 에 나타 난 ie 로 끝 나 는 문자열 을 삭제 하 는 것 을 표시 합 니 다.
    두 번 째 부분 은 file 에서 "또는 | 또는 & 로 시작 하 는 문자열 을 삭제 합 니 다.
    9. 문서 의 모든 숫자 나 자 모 를 어떻게 삭제 합 니까?
          : sed -i 's/[0-9]//g' file
          : sed -i 's/[a-Z]//g' file

    10.  로그 1. log 의 첫 번 째 단락 (빈 칸 으로 구분자) 을 캡 처 하고 숫자 에 따라 정렬 한 다음 무 게 를 줄 입 니 다. 그러나 중복 되 는 수량 을 유지 하 는 방법 은 무엇 입 니까?
    awk '{print $1}' 1.log |sort -n|uniq -c|sort -n

    11. awk 를 사용 하여 1. log 의 7 단 (빈 칸 구분) 이 '200' 이 고 8 단 이 '11897' 인 줄 을 걸 러 냅 니 다.
    awk '$7 == "200" && $8 == "11897"' 1.log

    12.  이 두 명령 의 공통점 과 차이 점 을 비교 하 십시오: grep - v '^ [0 - 9]' 1. txt 와 grep '^[^0-9]' 1.txt
    grep -v '^[0-9]' 1.txt      //             ,     
    grep  '^[^0-9]' 1.txt       //             ,      (  0 9  ,       )

    13. awk 의 $0 은 무엇 을 의미 합 니까?왜 아래 두 명령 의 $0 결과 가 일치 하지 않 습 니까?awk -F ':' '{print $0}' 1.txt  awk - F ':' $7 = 1 {print $0} '1. txt
    awk -F ':' '{print $0}' 1.txt        //       ,     
    awk -F ':' '$7=1 {print $0}' 1.txt   
    //       ,                1,       ,     
             (                 ,         ,         )

    14. grep 를 사용 하여 어떤 키 워드 를 걸 러 낼 때 키 워드 를 포함 하 는 줄 을 위 줄 과 연결 하여 인쇄 하 는 방법 은 다음 줄 입 니까?동시에 위 와 아래 모두 인쇄 되 나 요?
    grep -B1     
    grep -A1     
    grep -C1      

    좋은 웹페이지 즐겨찾기