Как к использованию файла, как введено к программе, начинающей с определенной строки в команде?

Использовать файл в качестве входа для программы, < оператор может использоваться.

Например,

xmacroplay "$DISPLAY" < input.txt

Однако существует ли команда, чтобы указать, не хочу ли я использовать целый файл, но только провожу некоторые строки, как введено?

Некоторый like,

xmacroplay "$DISPLAY" < input.txt --starting_line=100 --ending_line=120

(Это, конечно, не будет работать, просто хотеть знать, существует ли опция как этот),

0
задан 23 October 2016 в 18:29

1 ответ

Используйте sed или другой инструмент, чтобы отфильтровать определенную строку и передать его по каналу к команде. Например, следующее отправит только 10-е и 13-е строки файла к xmacroplay:

sed -n '10p; 13p' input.txt | xmacroplay "$DISPLAY" --starting_line=100 --ending_line=120

Или в awk:

awk 'NR == 10 || NR == 13' input.txt | xmacroplay "$DISPLAY" --starting_line=100 --ending_line=120

, Если по некоторым причинам Вы не можете использовать канал, замену процесса использования:

xmacroplay "$DISPLAY" --starting_line=100 --ending_line=120 < <(sed -n '10p; 13p' input.txt)
1
ответ дан 28 September 2019 в 08:29

Другие вопросы по тегам:

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