2015-01-30 2 views
1

디렉토리 트리의 모든 라인에서 최대 문자를 알려주는 linux/unix 스크립트가 필요합니다.bash 스크립트 : 필터와 일치하는 텍스트 파일의 라인 최대 문자 수

그래서 루트 폴더를 지정할 수 있습니다. 그것은 아래로 걸어 내려 가서 어떤 마스크 (예 : *.java)를 가진 파일을 처리합니다 - find 명령 ... 그리고 var의 한 줄에 최대 문자를 유지하고 출력합니다.

나는 this question을 보았습니다. 그러나 스프레드 시트 나 다른 처리에 복사하지 않고도 최대를 원했습니다.

특정 문자는 모든 문자를 고려하고 싶지는 않습니다.

답변

1

사용하는 것이 find 명령을

find -type f -iname "*.java" -exec awk 'length($0)>a{a=length($0)} END{print FILENAME":"a}' {} \; 

설명 :

  • -type f 좋아는
  • -iname "*.java"을 파일 만 .java
  • -exec awk로 끝나는 정보 파일을 실행 파일 당210 개
    • length($0)>a{a=length($0)} 라인의 길이가 a보다 큰 경우 a을 해당 길이로 설정하십시오.
    • END{print FILENAME":"a} : 마지막에 파일 이름과 길이를 인쇄
1

이 현재 디렉토리에 * 모든 자바 파일 (-c 화장실 그들에게 파이프를 계산하는) 문자의 가장 번호가있는 라인을 반환 : 당신이 무엇을 물어

perl -e 'while(<>){$l=length; $l>$m && do {$c=$_; $m=$l} } print $c' *.java 

정확히 아니지만,이다 좋은 출발점.

관련 문제