Вывод одной команды передается по каналу к другому; как закрыть обоих?

Один путь состоял бы в том, чтобы использовать awk и paste:

paste -sd'\t' <(awk 'NR%2' inputfile) <(awk '!(NR%2)' inputfile)

Идея состоит в том, чтобы получить четные и нечетные строки отдельно и paste они.

Для Вашего входа это произвело бы:

1 2 5 6
3 4 7 8
2
23.05.2017, 15:39
2 ответа

Команда, которую вы выполняете ( nc aka netcat ) будет ожидать ввода при запуске с флагом -l . Обычно netcat в режиме прослушивания закрывается, когда получает символ конца файла, но флаг -k предотвращает это. Другими словами, netcat не закроется, пока вы его не убьете, из-за способа, которым вы вызывали команду.

См. страницу руководства для получения дополнительной информации.

3
27.01.2020, 22:00
[1120068] Если вы хотите отсоединить 2-й процесс, вам также нужно сгруппировать их с помощью [12144], иначе это не сработает. Брекеты нужны, чтобы отсоединить оба процесса.[1120071].
1
27.01.2020, 22:00

Теги

Похожие вопросы