Как удвоить интервал определенного количества строк в файле, используя sed - PullRequest
0 голосов
/ 10 января 2020

Мне нужно удвоить интервал для определенного количества строк во всех файлах в папке. Мне нужно знать команду для того же. Для удвоения количества строк одного целого файла я использовал команду:

sed '/^$/d' fileName | sed G
  1. Мне нужно знать, как это сделать только для определенных c количество строк
  2. Я хочу внести изменения во все файлы в структуре папок

1 Ответ

0 голосов
/ 11 января 2020

Это может работать для вас (GNU find, sed иrallel):

find -type f | parallel --dry-run -q sed -Ezi 's/\n+/\n/g;s/\n/&&/10g;s/\n+/\n/21g'

Это удвоит строки 10-20 для всех файлов в текущем каталоге и ниже (но только после выполнения команд это было проверено пользователем и --dry-run удалено).

Альтернативный, менее эффективный:

find -type f | parallel --dry 'sed -i "/\S/!d" {} ; sed -i "10,20G" {}'
...