Как я могу прочитать число из столбцов и сложить вместе

Как сказал Германн, в Linux вы можете проверить это в файловом менеджере, однако вам нужно отключить быстрый запуск из Windows , иначе он выдаст ошибку, которая не может смонтировать раздел.

В Windows я использую DiskInternals Linux Reader , который очень удобен.

С уважением

-1
26.09.2020, 19:38
2 ответа

Боюсь, ваш сценарий совершенно неверен. Пожалуйста, найдите время, чтобы прочитать несколько основных руководств по написанию сценариев оболочки, чтобы вы могли понять, что вам нужно делать. Обратите внимание, что вам нужно на самом деле прочитать файл, а не просто поместить его в переменную.

Наиболее распространенным инструментом для такого рода вещей является awk. С awkвы могли бы сделать:

$ awk 'NR>1{print $2+$3}' file
608

NR— номер текущей строки, а $N— N-е поле текущей строки. Таким образом, эта команда указывает awkпропустить первую строку (NR>1), а затем вывести сумму второго и третьего полей.


Оболочка — ужасный инструмент для разбора файлов, но если вам абсолютно необходимо делать это в оболочке, вы можете попробовать:

#/bin/bash

ExcPath=$1

## Now, skip the first line and read the rest
tail -n+2 "$ExcPath" |
  ## split on whitespace and save in the variables 
  while read text data bss dec hexfile name; do
    echo $(( $data + $bss))
  done

Сохраните это как script.shи затем запустите ./script.sh filename, как вы делали:

$./script.sh file
608
2
18.03.2021, 23:02

команда

z=0;for l in `awk '{for(i=1;i<=NF;i++){if($i ~ /data|bss/){print i}}}' filename`; do m=`awk -v l="$l" 'BEGIN{sum=0}{sum=sum+$l}END{print sum}' p`;z=$(($z+$m)); done;echo $z

выход

608
0
18.03.2021, 23:02

Теги

Похожие вопросы