Для вывода 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 

  • Этот код не работает. (Попытка объявить значения массива в цикле for и выполнять на них математические функции)
  • Как установить параметр zero ($ 0) при выполнении сценария?
  • Как перенаправить стандартный ввод инструкции `while` в файл?
  • Как путь к исполняемому набору, если скрипт находится в PATH
  • Проверка того, нажата ли конкретная клавиша в сценарии оболочки
  • Конкатенация строковой переменной внутри цикла for в оболочке bash
  • Я хочу создать zip-файл с сохранением оригинала
  • Обрежьте значение, исходящее из поля awk
  • One Solution collect form web for “Для вывода weird”

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

    Interesting Posts

    запуск нескольких сеансов x с различными DE / WM с помощью startx в Linux Mint

    Есть ли большая разница в производительности между find и find2perl

    Как убедиться, что файлы присутствуют при установке usb?

    BASH_ALIASES не равно псевдониму

    Reverse (SSH) через сервер между двумя компьютерами? – для удаленной помощи

    Как получить принтер HP Officejet Pro 6830 для работы с Ubuntu?

    Есть ли дополнительная опция для отображения скрытой команды на терминале?

    Perl один вкладыш для поиска слов длиной более 63 символов

    Проверка наличия нескольких файлов, данных по каналам

    Как отслеживать время соединения ssh, время отключения и время простоя?

    Как использовать greped url, предоставляемый tshark внутри сценария bash?

    Использование Unix-домена для управления VLC

    Почему монтирование происходит через существующий каталог?

    Как остановить «grep» от вырезания трубы

    Установка Lakka на старый Macbook Pro

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