파일의 모든 숫자를 빠르게 합산하는 방법은 무엇입니까?

파일의 모든 숫자를 빠르게 합산하는 방법은 무엇입니까?

각 행에는 열의 텍스트와 숫자가 포함됩니다. 각 행의 숫자의 합을 계산해야 합니다. 어떻게 해야 하나요? 감사해요

example.log에는 다음이 포함됩니다.

time=31sec
time=192sec
time=18sec
time=543sec

대답은784화

답변1

grep지원을 선택하면 -o다음을 시도해 볼 수 있습니다.

$ grep -o '[[:digit:]]*' file | paste -sd+ - | bc
784

POSIX적으로:

$ printf %d\\n "$(( $(tr -cs 0-9 '[\n*]' <file | paste -sd+ -) ))"
784

답변2

GNU 최신 버전(4.x) 사용 awk:

awk 'BEGIN {FPAT="[0-9]+"}{s+=$1}END{print s}'

다른 사람들과 함께 시도해 보세요 awk:

awk -F '[a-z=]*' '{s+=$2}END{print s}'

답변3

awk -F= '{sum+=$2};END{print sum}'

답변4

sed 's/=/ /' file | awk '{ sum+=$2 } END { print sum}'

관련 정보