Как добавить номер из 3 разных файлов в 3 разных каталога?

#bash

#bash

Вопрос:

введите описание изображения здесь

Каждый 10 поступает из другого файла, и каждый из этих файлов поступает из другого каталога. Как бы я добавил их вместе и получил результат Popeye 30?

Это то, что у меня есть до сих пор, чтобы получить три 10 в столбце:

 cat "$x" | grep "$candidate" | grep -oe '([0-9.]*)'
  

Ответ №1:

Просто нужно передать awk '{s =$1} END {print s}' в конце вашего результата вот так:

 echo "Enter candidate:
Popeye
10
10
10" | grep "$candidate" | grep -oe '([0-9.]*)' | awk '{s =$1} END {print s}'
  

Если вы собираетесь добавлять что-либо сверх 2147483647 (2^31) этого, printf было бы предпочтительнее print , потому что awk использует 32-разрядное целочисленное представление со знаком, и вы можете столкнуться со странным поведением в некоторых версиях awk.

 echo "Enter candidate:
Popeye
10
10
10" | grep "$candidate" | grep -oe '([0-9.]*)' | awk '{s =$1} END {printf "%.0fn", s}'
  

Ответ №2:

вы можете использовать awk, чтобы получить сумму последних трех строк:

 echo "$candidate $(cat "$x" | grep "$candidate" | grep -oe '([0-9.]*)' | tail -3 | awk '{i =$1} END{print i}')"