Как сказал Германн, в Linux вы можете проверить это в файловом менеджере, однако вам нужно отключить быстрый запуск из Windows , иначе он выдаст ошибку, которая не может смонтировать раздел.
В Windows я использую DiskInternals Linux Reader , который очень удобен.
С уважением
Боюсь, ваш сценарий совершенно неверен. Пожалуйста, найдите время, чтобы прочитать несколько основных руководств по написанию сценариев оболочки, чтобы вы могли понять, что вам нужно делать. Обратите внимание, что вам нужно на самом деле прочитать файл, а не просто поместить его в переменную.
Наиболее распространенным инструментом для такого рода вещей является 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
команда
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