Вопрос:

grep запускает фоновые процессы

bash background grep

246 просмотра

1 ответ

118 Репутация автора

У меня есть входной файл, который содержит несколько путей, в том числе один, ссылающийся на исходное решение. Соответствующая строка следующая:

initial_solution_file = ../../INIT/foo

То, что я хотел бы сделать, это иметь псевдоним, который будет отображать этот путь, чтобы я набрал «init», и оболочка вернула бы «исходное решение: ../../INIT/foo»

Что я пробовал это:

grep initial_solution_file input_file | awk '{print $3}' | echo "the initial solution is:" `xargs echo`

Это обеспечивает желаемый результат, но я дополнительно получаю что-то вроде: [6] 48201 48202

Что это такое и как это предотвратить?

заранее спасибо

Автор: EdouardIFP Источник Размещён: 13.04.2017 07:38

Ответы (1)


0 плюса

8658 Репутация автора

Решение
 echo "the initial solution is: $(awk '/initial_solution_file/{print $3}' input_file)"
the initial solution is: ../../INIT/foo

Нет необходимости в каналах, вы можете выполнить подстановку команд с помощью $(....)конструкции. Кроме того, grepи awkможет быть сделано в awkодиночку.

Автор: P.... Размещён: 13.04.2017 07:43
Вопросы из категории :
32x32