레이블이 리눅스인 게시물을 표시합니다. 모든 게시물 표시
레이블이 리눅스인 게시물을 표시합니다. 모든 게시물 표시

2011년 9월 1일 목요일

리눅스 awk 명령 사용법


  • 특정 필드 출력
    • ls -al | awk '{print $9}' : ls -al에서 9번째 필드 출력 
  • 파일에서 데이터 추출 
    • awk '/root/{print}' /etc/passwd: passwd 파일에서 root 라는 단어가 들어간 행만 출력
    • awk '/def/{print}' ./execute_stanford_coref.py 
  • 연산자 사용
    • ls -al | awk ' $5 > 4096 {print $5}': 비교연산자를 사용하여 5번째 필드에서 4096 보다 큰 값만 출력

리눅스 프로세스 한꺼번에 죽이기

python에서 pipe open으로 java를 호출했는데,
그게 순차적으로 될 줄 알고 있었더니,
각각 pipe를 다 열어버려서 ㅡㅡ;
java 실행하는 process가 엄청 60개 넘게 생겨버렸다.
그 바람에 다른 것이 안될 지경...

할 수 없이 프로세스를 한꺼번에 죽여야 했는데,
web에 찾아보니 아래와 같이 죽이란다

kill -9 `ps -ef | grep "java" | awk '{print $2}'`

대충 이해가 가는뎅 awk가 뭐하는 건지 몰랐더니만...
패턴을 잡아 내는 명령어인듯...

awk '{print $2}'`라고 하면, 결국 print되는 것에서
2번째 필드를 보여주게 된다..
그러니깐 ps -ef에서 java로 실행되고 있는 것의
프로세스 번호를 가져오는 거다... ㅋ
신기함..