
항목과 해당 가격이 포함된 비용 보고서인 다음 콘텐츠가 포함된 샘플 파일을 살펴보겠습니다.
$ cat file
Item1,200
Item2,500
Item345,900
Item20896,800
Item111,600
이제 친구가 나에게 도전을 해왔다.총 가격모든 프로젝트에서 - 하지만아니요사용 awk
. 그게 가능합니까?
답변1
GNU 배시 사용:
while IFS="," read -r item number; do ((sum=$sum+$number)); done < file; echo $sum
산출:
3000
답변2
왜 사용하고 싶지 않은지 이해가 안 되지만 awk
물론 다음과 같은 몇 가지 대안이 있습니다.
진주(팀 토디)
$ perl -F, -lane '$k+=$F[1];}{print $k' file 3000 $ perl -lne '/,(\d+)/;$k+=$1;}{print $k' file 3000 $ perl -F, -lane '$k+=$F[1];END{print $k}' file 3000
클래식 *nix 도구
$ cut -d, -f2 file | tr '\n' '+' | sed 's/+$/\n/' | bc 3000 $ cut -d, -f2 file | paste -d'+' - - - - - | bc 3000
최신 Bourne 시리즈 쉘(예: bash, ksh, zsh)
$ k=0; while IFS=, read a num; do ((k+=num)); done < file ; echo "$k"; 3000
POSIX 쉘
k=0; while IFS=, read a num; do k=$((k+num)); done < file ; echo "$k";