Для вывода weird

Это мой сценарий:

#!/bin/bash E=0;j=0 for i in ABC do Erray=$(sed -n '/Local net energy/p' log | awk '{print $7}') A[j]=j echo $i = $Erray kJ/mol >> Energy let j=j+1 echo $j $i $Erray ${A[j]} done cat Energy 

Выход:

 1 A 2.692036739192E+03 2 B 2.679751695663E+03 3 C 4.732453844269E+03 A = 2.692036739192E+03 kJ/mol B = 2.679751695663E+03 kJ/mol C = 4.732453844269E+03 kJ/mol 

Это не должно быть так. Порядок вывода «сортируется», а ${A[j]} не появляется.

Редактировать Теперь я знаю, почему вывод сортируется. Я забыл добавить >> Energy после второго echo . Проблема с массивом все еще сохраняется. Мои входные данные большие, я только извлекаю строки, которые имеют значение.

 print energy 2 - 1 end Local net energy (PE 0) = 2.692036739192E+03 kJ/mol Global net ELEC energy = 2.692036739192E+03 kJ/mol 

One Solution collect form web for “Для вывода weird”

В вашем скрипте j монотонно увеличивается – он начинается с 0 и подсчитывается по одному на итерацию цикла. Вы присваиваете значение A[j] в своем цикле, затем вы увеличиваете j , затем пытаетесь распечатать A[j] – но теперь, когда j был увеличен, этот индекс в A еще не установлен, поэтому есть ничего не печатать (расширение переменной пусто). Если вы печатали ${A[j-1]} вы должны видеть вывод.

  • Разделение имен переменных из строк вывода без пробелов
  • Как создать папку с именем пользователя и датой в качестве имени папки?
  • тянущие линии, связанные с датой
  • Окрашивание выхода `cat`?
  • Скрипт Bash; оптимизация скорости обработки
  • Сценарий Bash не детерминирован при выполнении действий
  • Помощь при написании скрипта, который входит в систему и выходит из ssh-сервера
  • не может определить ошибку в сценарии оболочки неожиданный оператор
  • помощь в создании sh
  • Ошибка подстроки в сценарии оболочки
  • переадресация сокетов tcp от нескольких последовательных клиентов к одному постоянному подключению сокета к серверу
  • Должны ли скрипты оболочки работать в абсолютных или относительных путях?
  • Interesting Posts

    Переименовать файл, содержащий пробелы и знаки препинания

    Как я могу оторваться от сеанса SSH, который разбился?

    Правильное определение использования памяти в Linux

    Доля устройства захвата alsa с alsaloop

    Документация mbcache

    Моя установка debian не имеет среды для рабочего стола, и нет доступа в Интернет

    Gedit: подсветка синтаксиса эхом самозакрывающихся тегов XHTML в JavaScript на PHP

    Проблемы разрешения. Не удается получить почтовые сообщения в почтовых ящиках из dovecot

    рекурсивно маркировать все файлы в каталоге как измененные без изменения содержимого файла

    «Слияние» локального сервера и учетных записей AD

    Где я могу получить пакет «kernel-default-debuginfo» для SLES 11?

    Разрешения NFS с группами

    Что вдруг заставит программы читать /etc/ld.so.preload при запуске?

    Как переключить пользователя с предварительно настроенными учетными данными в SSH-терминал после входа в систему как стандартный пользователь

    Определить переменную для соответствия шаблону awk из bash

    Linux и Unix - лучшая ОС в мире.