파일에서 각 개별 값의 발생 횟수에 대한 정보를 수집하려고 합니다. 값, 즉 전체 파일에서 발생하는 횟수를 출력하고 필드 구분 기호 사이에서 각 값이 발생하는 횟수를 계산하고 싶습니다. "---"
입력:
textfile.txt
산출:
indexed_value - 50 - 12
값을 색인화하고 빈도를 합산하기 위해 [gnu.org의 이 프로그램][1]을 사용하기 시작했지만 더 이상 진행할 수 없습니다.
이전 버전의 mawk를 사용하세요.
awk '{
for (i = 1; i <= NF; i++)
freq[$i]++
}END {
for (word in freq)
printf "%s\t%d\n", word, freq[word]
}' ./dir/file.txt | sort -f
어느 출력
indexed_value - 50
필드 수 추적의 경우:
awk -F "___" '
{ count[NF]++ }
END{
for(num in count)
printf("%s\t%d\n", num, count[num])
}'
산출:
number of fields separated by --- 22
number of new lines 323
지정된 필드 구분 기호로 구분된 숫자만 있으면 됩니다. 이 두 명령을 하나로 결합하려면 어떻게 해야 합니까?
답변1
다음 변수를 가정합니다.
문자: t
파일명 : 터미널
필드 구분자: p
다음 명령은 mawk를 사용하지 않고 요청한 모든 것을 제공합니다.
echo " t - $(grep -oi t 터미널 | wc -l) - $(grep -it*p 터미널 | wc -l)"
대소문자를 구분하려면 grep 명령에서 "i" 플래그를 제거하십시오.