отказ в разрешении для основных команд

Поскольку замена является статической, а операция замены нескольких строк настолько проста в sed, можно создать один большой sed скрипт для выполнения этой работы.

Предположим, что у вас есть номера строк в отдельном файле, linenos.txt, по одному номеру строки в строке, тогда мы можем создать сценарий (GNU) sed через

$ awk '{ printf("%dc XXXXXXXXXXXXXXX\n", $0) }' linenos.txt >script.sed

или

$ awk '{ print $0, "c XXXXXXXXXXXXXXX" }' linenos.txt >script.sed

Затем нужно применить его к файлу:

$ sed -f script.sed file >file.new

Примечание. Я никогда не запускал чрезвычайно большой sed скрипт, поэтому я не знаю, как GNU sed справляется с этим с точки зрения производительности.

1
26.10.2016, 01:34
0 ответов

Теги

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