텍스트 파일의 폴더가있는 경우 배쉬 명령을 사용하여 파일 당 평균 단어를 얻는 방법은 무엇입니까?파일 당 평균 단어 수
내가 파일 당 단어를 얻을 wc -w
를 사용할 수 있다는 것을 알고,하지만 난 모든 파일에서 단어의 총 수를 얻을, 다음 텍스트의 숫자로 해당 번호를 분할하는 방법을 확실 해요는
텍스트 파일의 폴더가있는 경우 배쉬 명령을 사용하여 파일 당 평균 단어를 얻는 방법은 무엇입니까?파일 당 평균 단어 수
내가 파일 당 단어를 얻을 wc -w
를 사용할 수 있다는 것을 알고,하지만 난 모든 파일에서 단어의 총 수를 얻을, 다음 텍스트의 숫자로 해당 번호를 분할하는 방법을 확실 해요는
이 명령은 파일 시스템을 반복적으로 탐색하고 모든 단어와 파일을 계산합니다. 마지막으로 전체 단어 수를 파일 수로 나눕니다.
find . -type f -exec wc -w {} \; | awk '{numfiles=numfiles+1;total += $1} END{print total/numfiles}'
을 파일
cat *.txt | wc -w
와 파일 번호로 : 다음과 같은 방법으로 총 단어 수를 얻을 수
ls *.txt | wc -l
그런 다음 당신이 그들을으로 나눔 수 있습니다.
이것은 조언 일뿐입니다. Loops 및 Variable Assignment을 사용할 수 있습니다.
황의 솔루션은 매우 좋지만 모든 디렉토리에서 오류가 발생합니다. 그리고 분열은 쉘의 모든 산술 연산이 정수형이기 때문에 약간의 고통입니다. 다음은 원하는 작업을 수행하는 스크립트입니다.
#!/bin/sh for file in *; do test -f "$file" || continue c=$(wc -w "$file" | awk '{print $1}') : $((total += $c)) : $((count += 1)) done echo $total $count 10k/p | dc | sed 's/0*$//'
하지만 멧새의 awk 솔루션이 좋습니다.
'wc -w * | grep total'은 당신을 시작할 것입니다 ... 거기에서 어디로 가야할지 모르겠습니다. 행운을 빕니다! –