Печатать текст после шаблона из одного файла в другой файл в mac OS X.

Вы можете использовать файловый менеджер с графическим интерфейсом и изменить размер границы окна, пока каждые 5 файлов не займут строку, а затем с помощью мыши выберите первый столбец...

0
19.02.2020, 12:01
1 ответ

Команда

sed -n -e 's/^.*Word1 word2/\1/p' file1.txt

определено нечетко, так как правая часть замещающей команды включает обратную ссылку, но в левой части нет группы захвата. GNU sed 4.7 в linux выдает сообщение об ошибке «недопустимая ссылка \1 в RHS команды `s».

Поскольку требуется напечатать текст после первого вхождения «Word1 word2», мы не можем просто использовать .*Word1 word2, так как .*является жадным. Вместо этого мы воспользуемся уловкой и преобразуем первый Word1 word2в один символ, а затем удалим его до этого символа. Подойдет любой неиспользуемый символ,но хорошим выбором является новая строка, так как sed удаляет новую строку при чтении каждой строки и добавляет ее при печати строки. Итак, мы имеем

sed -n -e 's/Word1 word2/\n/;s/^.*\n//p' file1.txt > newfile.txt

Если требуется "Слово1 слово2", используйте

sed -n -e 's/Word1 word2/\n&/;s/^.*\n//p' file1.txt > newfile.txt
0
28.04.2021, 23:23

Теги

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