Arhn - архитектура программирования

Ошибка в сценарии оболочки и как записать в файл

Я пишу сценарий оболочки, который извлекает данные из команды:

Я пробовал запускать скрипт как в редакторе vi, так и в редакторе vim. Но все напрасно.

Пожалуйста, помогите мне. И как записать вывод этого в файл.

Можно отметить, что это всего лишь отправная точка, поэтому скрипт создаст несколько файлов, поэтому я не могу написать:

Script_name > filename
01.04.2014

  • Бессмысленно публиковать десятки вопросов (как несколько пользователей) на нескольких сайтах по одной проблеме. Потратьте некоторое время на посещение Справочного центра и посмотрите, как задать хороший вопрос. 01.04.2014
  • Покажите нам пример вывода из ec2-describe-instances. У большинства людей этого не будет, поэтому мы даже не можем предположить, что вы пытаетесь разобрать. Поскольку вам нужно несколько выходных данных, вам лучше показать две или три единицы входных данных, которые должны быть обработаны, и вы должны показать ожидаемый результат. Без этой информации (этот вариант) ваш вопрос остается без ответа. 01.04.2014
  • Один связанный предыдущий вопрос от Мегхи по SO был Сценарии оболочки в Linux. 01.04.2014
  • @JonathanLeffler: сэр, способ вывода вывода в порядке, см. Выше, но я не могу получить подробную информацию обо всех экземплярах. Я пробовал скрипт в редакторе vim и vi. Но ничего не работает. 01.04.2014
  • обратите внимание, что команда ec2-describe выводит сведения обо всех экземплярах, но я предоставил сведения только о нескольких экземплярах. 01.04.2014
  • Но мы все еще не знаем, что вы ожидаете получить от того, что вы показываете. Вывод вашего примера не соответствует ни одному из данных в образце ввода. Только одно из четырех резервирований имеет тег центра затрат; что вы хотите сгенерировать для других? Мы не чудотворцы; если вы не можете сказать нам, чего вы хотите, мы не можем дать вам то, что вы хотите. Даже если вы расскажете нам, это может быть невозможно, но, по крайней мере, мы сможем сказать это с уверенностью. 01.04.2014
  • Вопрос обновлен. на самом деле некоторые теги отсутствуют на серверах, поэтому 01.04.2014
  • Теперь есть шанс, что, может быть, кто-то сможет вам помочь, но пора уже спать. Пожалуйста, обратите внимание, что не нужно так много усердия, чтобы заставить вас задать вопрос, на который можно ответить. Вы должны были продумать то, о чем спрашиваете, — что нужно людям, которые помогут мне, чтобы дать мне ответ. Подумаем: входные данные; ожидаемый результат; неработающий скрипт; выход из неисправного скрипта — да, примерно то, что нужно. Мы можем запустить скрипт на данных и посмотреть, что он выдаст; ваша информация подтверждает, что мы видим то же, что и вы, так что это хорошо. 01.04.2014
  • Что ж, пора спать... Я взял данные и превратил их в сценарий ec2-describe-instances, запустил ваш сценарий оболочки Korn (с оболочкой Korn, Bash, zsh и sh — это ссылка на bash), и он произвел именно то, что вам нужно. выход. Итак, проблема снова в вашем суде — как вы запускаете свой код и какой именно результат вы получаете из данных, которые вы показываете? Какую версию awk вы используете. И т. д. 01.04.2014
  • Только что попробовал ваш скрипт. Он производит именно желаемый результат. так.. 01.04.2014
  • @Jonathan: но сэр, когда я запускаю bash, этот скрипт не работает. Я использую Centos Amazon, сэр. 01.04.2014
  • @ jm666: Привет, я хотел бы знать, что вы сделали для запуска скрипта, поскольку он не дает мне требуемого результата. 01.04.2014
  • @MeghaSharma: Все, что я сделал, это скопировал сценарий из вопроса с копией и вставил его в cat > parser.sh в терминале (и нажал control-D, чтобы закончить файл). Затем я удостоверился, что файл ec2-describe-instances, который содержал cat <<'EOF' … EOF с вашими данными между ними, был исполняемым, а затем запустил: PATH=$PWD:$PATH ksh parser.sh (и повторил это для различных других оболочек, которые я пробовал — у меня нет Heirloom Bourne Shell на этой машине, или я я бы тоже использовал это — все, что не является оболочкой C, должно с этим справиться). Итак, убедитесь, что вы выполняете сценарий, который, по вашему мнению, выполняете. 01.04.2014

Ответы:


1

Я думаю, что этот вопрос сейчас в порядке, входной файл достаточно хорош после редактирования, теперь я могу полностью понять, о чем вы просите.

С awk вам нужно научиться использовать двумерный массив, это упростит код.

awk 'BEGIN{print "Instance id           Name                      Owner         Cost.centre"}
/TAG/{split($0,a,FS);a[4]=tolower(a[4]);$1=$2=$3=$4="";b[a[3],a[4]]=$0;c[a[3]]}
END{for (i in c) printf "%-18s%-26s%-14s%-20s\n",i,b[i,"name"],b[i,"owner"],b[i,"cost.center"]}' file

Instance id           Name                      Owner         Cost.centre
i-e1cfc499            Memcached                                               
i-7f4b9300            Test_LB01_Sachin                                        
i-c4260db8            Rishi_Win_SAML            Rishi Pandey                    
i-fb5ca283            CLIQR-DO NOT TOUCH        mataa         1234    
01.04.2014
  • есть проблема с форматированием. подскажите, пожалуйста, почему мой скрипт не работает? В чем проблема? некоторые люди говорят, что мой скрипт у них работает нормально 01.04.2014
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..