Как можно использовать разные значения в качестве одного и того же параметра один за другим? - PullRequest
1 голос
/ 23 марта 2020

Я запускаю команду в терминале, которая выводит следующее ..

abc -> 1
bcd -> g
cde -> 2
def -> 3
efg -> 4

То, что вы видите слева от ->, представляет первый параметр другой функции и то, что вы видите справа от -> представляет второй параметр той же функции.

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

  • У меня была идея вывести то, что слева, в один файл и вывести то, что справа, в другой файл

  • Затем создать функцию, которая читает оба файла и извлекает информацию один за другим и использует ее в другой функции, пока вся информация не будет использована i.e. after efg -> 4 будет использоваться в другой функции, затем она остановится.

Мои вопросы :

  1. Как можно использовать разные значения в качестве одного и того же параметра один за другим?

  2. Как можно объединить две части информации из двух отдельных файлов? Так что первая из пары запускается как один параметр, а вторая из пары запускается как другой параметр.

  3. Есть ли лучший подход к этому?

1 Ответ

2 голосов
/ 23 марта 2020

Сценарии оболочки отлично подходят для обработки текста и запуска команд. Там нет необходимости во временных файлах. Простое l oop может сделать это:

some_command | while read -r param1 _ param2; do
    use_values "$param1" "$param2"
done

Здесь some_command - это заполнитель для команды, которая печатает вывод выше, а use_values - это заполнитель для «другой функции», которая использует два значения.

Я использовал _ в качестве имени переменной для бита ->, который игнорируется. _ - это общая идиома для обозначения переменной, которая не используется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...