Linux 명령 줄 의 "스위스 군도"

여기 서 말 하 는 '스위스 군도' 는 간단 한 명령 한 마디 로 다른 고급 언어 와 큰 코드 를 완성 할 수 있 는 작업 을 말한다.
다음 내용 은 Quora 사이트 에서 Joshua Levy 네티즌 들 의 총 결 입 니 다.
sort/uniq 를 통 해 파일 내용 의 교 집합, 집합 과 다른 점 을 가 져 옵 니 다. a, b 두 텍스트 파일 이 있다 고 가정 하면 파일 자체 가 중복 내용 을 제거 합 니 다.다음은 모든 부피 의 파일, 심지어 몇 개의 G 파일 을 처리 할 수 있 는 가장 효율 적 인 방법 이다.(Sort 는 메모리 에 대한 요구 가 없 지만 - T 인 자 를 사용 해 야 할 수도 있 습 니 다.) 디스크 에 있 는 파일 의 합병 을 자바 로 처리 하려 면 몇 줄 의 코드 를 사용 해 야 하 는 지 비교 해 보 세 요.
cat a b | sort | uniq > c # c  a b   
cat a b | sort | uniq -d > c # c  a b   
cat a b b | sort | uniq -u > c # c  a b   

한 텍스트 의 내용 에서 세 번 째 열의 숫자 를 합 친 것 (이 방법 은 Python 으로 하 는 것 보다 3 배 빠 르 고 1/3 의 코드 만 필요 합 니 다):
awk ‘{ x += $3 } END { print x }’ myfile

디 렉 터 리 트 리 에 있 는 파일 의 크기 와 수정 날 짜 를 보 려 면 아래 방법 으로 디 렉 터 리 별로 'ls - l' 을 만 드 는 것 과 같 습 니 다. 또한 'ls - lr' 를 사용 하 는 것 보다 출력 형식 이 더 읽 을 수 있 습 니 다.
find . -type f -ls

xargs 명령 을 사용 합 니 다.이 명령 은 매우 강하 다.줄 마다 얼마나 많은 물건 의 집행 을 통제 할 수 있 는 지 주의 하 세 요.만약 그것 이 정확 한 실행 인지 확실 하지 않다 면, 먼저 xargs echo 를 사용 하 세 요.마찬가지 로 - I {} 도 매우 유용 하 다.예:
find . -name \*.py | xargs grep some_function
cat hosts | xargs -I{} ssh root@{} hostname

웹 서버 로그 와 같은 텍스트 파일 이 있다 고 가정 합 니 다. URL 에 있 는 acct 와 같은 줄 에 값 이 있 습 니 다.id 매개 변수.만약 당신 이 모든 acct 를 통계 하고 싶다 면id 의 모든 요청 기록:
cat access.log | egrep -o ‘acct_id=[0-9]+’ | cut -d= -f2 | sort | uniq -c | sort -rn

원본 링크:http://www.vaikan.com/what-are-the-most-useful-swiss-army-knife-one-liners-on-unix/
20150506
LINUX 학습 노트 시리즈
--------------------------------------------
                    연락처
--------------------------------------------
        Weibo: ARESXIONG
        E-Mail: [email protected]
------------------------------------------------

좋은 웹페이지 즐겨찾기