Sed: чтение из файла и отображение в STDOUT - PullRequest
0 голосов
/ 05 ноября 2019

Learning sed, и я использовал живой редактор, чтобы я мог экспериментировать / видеть изменения.

sed -nf '/START FROM HERE/,${/NEXTLINE/{n;p;q}}'

При попытке запустить тот же код в Linux я получаю сообщение об ошибке Нет такого файла или каталога, когда я выполняю как ./xxx.sed text0.txt

Я пробовал пару вещей, ноЯ не уверен, как использовать sed, как это.

1 Ответ

1 голос
/ 05 ноября 2019

Параметр -f означает, что следующим аргументом является имя файла, содержащего команды sed. Поэтому вам нужно поместить

/START FROM HERE/,${/NEXTLINE/{n;p;q}}

в файл xxx.sed. Затем вы делаете:

sed -nf xxx.sed test0.txt

Если вы хотите иметь возможность выполнять xxx.sed в качестве команды, ей нужна строка shebang:

#!/usr/bin/sed -nf
/START FROM HERE/,${/NEXTLINE/{n;p;q}}

Затем вы можете сделать файл исполняемыми сделать:

./xxx.sed file0.txt
...