У меня есть следующий скрипт, который запускает команды для каждого файла в каталоге, чтобы соответствовать определенному шаблону. Затем он печатает соответствующий вывод в .csv. У меня есть желаемое форматирование, однако каждый шаблон, с которым я сопоставляюсь, печатается дважды. Как это:
Match1
Match2
Match1
Match2
Передача uniq и сортировка в этот скрипт не решают проблему, поэтому я подозреваю, что мой синтаксис выключен. Я до сих пор не смог найти решение через Google или другие ответы. Любая помощь приветствуется, спасибо!
#!/usr/bin/env bash
FILES=/Users/User1/Desktop/Folder/"*"
for f in $FILES
do
echo "Processing $f file..."
# take action on each file. $f store current file name
sed -n /"New Filters"/,/"Modified Filters"/p "$f" | grep -v -e 'Bugtraq ID:'
-e 'Common Vulnerabilities and Exposures:' -e 'Android' | grep -E '(^|[^0-9])
[0-9]{5}($|[^0-9])'| sed 's/:/,/1' >> NewFile.csv
echo "Complete. Check NewFile.csv"
done;
Пример ввода: ожидаемый результат - выделение текста жирным шрифтом
Фильтры
Новые фильтры
Модифицированные фильтры (логические изменения)
Модифицированный
Фильтры (только изменения метаданных)
Удаленные фильтры
Фильтры
Новые фильтры:
29722: HTTP: черный ход стрекозы. Good Go Go Implant CnC Beacon 1
Модифицированные фильтры (логические изменения):
Текст, который я не хочу
Модифицированные фильтры (только изменения метаданных):
Текст, который я не хочу