Для вывода 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]} вы должны видеть вывод.

  • вставить значение из ссылочного файла
  • Получить дату последнего дня последнего месяца в сценарии оболочки
  • Получение ошибки вывода с помощью команды head в сценарии оболочки
  • Скопируйте созданный файл в UNIX
  • Попросив свой сценарий принять аргументы, содержащие пробелы
  • как передать пароль двух серверов в оболочке
  • Строим пути
  • Проверьте веб-каталог, если существует файл, если не выходить
  • Помогите мне понять, почему тест $? -eq 0 истинно, даже если я ожидаю, что оно будет ложным
  • Что делает файл filename.txt в сценарии оболочки
  • Как удалить лишний «мусор» из этого файла журнала?
  • Interesting Posts

    Как я могу запустить Apache на Arch Linux с помощью systemd с помощью защищенных паролем ключей SSL?

    Как перезапустить dbus после ручного вмешательства при обновлении до Ubuntu 18.04?

    Какие коды клавиш соответствуют запросам на включение сенсорной панели и сенсорной панели?

    Разделение внешнего жесткого диска на GPT и раздел «Зарезервированный Microsoft»?

    находить командный вывод пустым при перенаправлении в файл

    Извлечь часть строки, используя grep

    Настройка Wi-Fi-накопителя на MacBook Air под управлением Kali Linux

    Монетный двор 15, замороженный при запуске, не знает, почему

    Как настроить систему Arch Linux для автоматического монтирования внешнего жесткого диска, когда он подключен?

    Существуют ли проблемы с дефисами в функциях, псевдонимах и исполняемых файлах?

    Загрузка Linux с USB-накопителя

    Wine / PoL дает множество ошибок в Fedora 17

    Что может вызвать «кроссовер» между двумя веб-камерами USB2 при использовании движения?

    Где поставить скрипты, которые запускаются при возобновлении работы компьютера?

    Линейный групповой обмен Linux chmod для root, которому принадлежит 770

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