Возможно, вам следует взглянуть на официальный документ SUSE
Другим полезным источником информации является справочная страница аудитда , в которой говорится, что все конкретные конфигурации файлов находятся в/etc/audit/audit.rules
$ awk -F '"' 'BEGIN { OFS=FS; n=1 } { $2 = sprintf("%s%d", $2, ++n/2); print }' file
id="picture-1"
id="picture-1"
id="picture-2"
id="picture-2"
Здесь мы рассматриваем каждую строку как набор"
-полей с разделителями. Второе поле изменяется с помощью awk
путем добавления целого числа в его конец. Целое число увеличивается на единицу для каждой строки, но также делится на два. В результате число в выводе будет увеличиваться на единицу каждую вторую строку (из-за округления, когда число используется с форматом %d
вsprintf()
).
Я бы использовал цикл for.
Предположения:
#!/bin/sh
# Define constants
prefix="picture-"
max_count=30
# For/Next style loop
for i in ((i=1;i<=$max_count;i++))
do
echo "${prefix}${i}"
end
Небольшая переделка вашего perl
одного -вкладыша:
perl -mPOSIX -pe 's/picture\-/$&. POSIX::ceil(++$n\/2)/ge' index.txt
Добавленное число теперь составляет половину -n, округленное в большую сторону, поэтому результат увеличивается только через каждую вторую строку.
Всегда можно сделать:
perl -pe 's/picture-\K/1+($n++>>1)/ge' index.txt
Для создания данных с нуля:
seq -f 'id="picture-%.0f"' 10 | sed p