Вот как вы можете использовать AWK для него,
awk 'BEGIN{ i=0; } \
{if (FNR<31) {print $0} \
else {i++; if (i%15) {print $0} else {printf "#%s\n",$0}}\
}' inputfile.txt > outputfile.txt
Как это работает,
- BEGIN устанавливает итератор для подсчета с вашей стартовой строки
32
- FNR <31 начинает отсчет с 31-й записи (следующая запись требует <code>#)
- строки ввода называются записями, а
FNR
- это переменная AWK, которая считает их
- Как только мы начинаем считать,
i%15
ставит префикс #
в каждой 15-й строке
$0
печатает запись (строку) как
Вы можете ввести весь текст с пробелами, пропуская завершающий символ '\
' в одной командной строке.
Или вы можете использовать его как файл AWK,
# File: comment.awk
BEGIN{ i=0; }
$0 ~ {\
if (FNR<31) {print $0} \
else {\
i++; \
if (i%15) {\
print $0
}\
else {\
printf "#%s\n",$0
}\
}\
}
И запустить его как,
awk -f comment.awk inputfile.txt > outputfile.txt
Надеюсь, это поможет вам использовать больше AWK.