각 행에는 열의 텍스트와 숫자가 포함됩니다. 각 행의 숫자의 합을 계산해야 합니다. 어떻게 해야 하나요? 감사해요
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}'