2011-03-08 4 views
2

UNIX 쉘 스크립트에서 파일의 줄 수를 계산해야하지만 80 자 미만의 줄 수가 필요하며 80자가 넘으면 줄 수 그것은 여러 줄로.UNIX wc -l (줄 길이 제한 포함)

wc -l은 줄 수를 계산하고, 이런 종류의 것을 지정하는 옵션이 없다는 것을 알고 있습니다. 어떻게해야합니까?

답변

8

사용 foldwc에 파이프를 다음 예를 출력 라인> (80 개) 문자를 중단하고

$ fold file | wc -l 
+1

+1 : 이것은 내 sed 학대보다 훨씬 낫다. – Erik

+0

@Erik : heh - 어떤 작품이든. ;-) –

+0

멋진! 빠른 답장을 보내 주셔서 감사합니다! – skeggse

1

이것은 당신이 원하는 것을 할 수 있습니다

sed -r 's,(.{80}),\1\n,g' filename | wc -l 
+0

당신은 캡처 그룹이 필요하지 않습니다를. 'sed -r 's /. {80}/& n/g " –

0

fold 대답이 가장 유닉스 방식에 맞는 동안 :

awk '{n += 1+int(length/80)} END {print n}' filename