
나는 이것을 가지고있다 :
S=`cat sales.txt`;
echo "$S" | cut -d: -f5 | grep -E '[0-9][0-9][0-9]' | wc -l
내 텍스트 파일:이름:ID:번호:유형:값
Tom:8:987654:A:67 //1
Dick:9:7651:B:83 //2
Harry:5:21215121:A:92 //3
Molly:2:1231872231:A:44 //4
Megan:123:322:B:145 //5
Russia:8:99231272:B:530 //6
Boleh:123:29321831:C:5000 //7
다섯 번째 열 값이 0-999 범위에 있는 줄 수를 계산하려고 합니다.
실행하려고 하면 6이 되어야 하는 위치에 3이 표시됩니다.
답변1
두 자리 숫자가 정규식과 일치하지 않습니다 [0-9][0-9][0-9]
.
또한 파일을 변수에 저장한 다음 인쇄하는 echo
것은정말나쁜 생각. 보다왜 printf가 echo보다 나은가요?, 그러나 더 중요한 점은 명령 cat file
대신에 수행할 수 있다는 것입니다 echo
.
실제로 Awk를 사용하면 모든 것을 할 수 있지만 cat
. 음수가 표시되지 않으므로 '1000 미만'만 확인하겠습니다.
awk -F: '$5 < 1000 {a++} END {print a}' sales.txt