проблема xargs с grepped-файлами, содержащими пробелы

Если prog2 следует общепринятому соглашению, вы можете использовать - в качестве «файла», чтобы сказать ему читать из стандартного ввода, а затем конвейер будет

prog1 <inputfile> - min max | prog2 - <outputfile> min max

, который сообщит prog1 для записи в stdout в качестве выходного файла, а prog2 будет использовать stdin в качестве входного файла с конвейером, соединяющим эти два.

Это не приведет к автоматической сортировке их, но вы можете добавить это в конвейер:

prog1 <inputfile> - min max | sort | prog2 - <outputfile> min max

И параметры не влияют на конвейер. Вам просто нужно убедиться, что программы в конвейере умеют читать из stdin (если они находятся на правой стороне канала) и писать в stdout (если они находятся на левой стороне канала).

0
08.04.2019, 20:47
2 ответа

попробуйте с:

xargs -d '\n' less

ввод в xargs, в вашем случае не заканчивается нулевым символом

1
28.01.2020, 02:30

Нет необходимости в трубе, используйте findтолько с -nameвместо grepи -execвместоxargs:

find. -name 'Register for rehousing.html' -exec less {} \;
1
28.01.2020, 02:30

Теги

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