grep -zPo '\\author{\K[^}]*' ex1.tex | tr '\0\n' '\n '
Несколько пояснений:
-z
входные и выходные записи ("строки" )разделены NULL(\0
). Таким образом, полный файл TeX будет одной записью. -P
Используйте вариант регулярного выражения Perl pcre. -o
выводит только ту часть записи, которая соответствует регулярному выражению. \\author{\K
означает левый контекст Параметр tr '\0\n' '\n '
изменяет разделитель выходных записей(\0
на \n
). и удаляет NewLines внутри имен от(\n
до)
Я использовал этот скрипт:
echo "BEGIN:VCALENDAR" >> merge;
for file in *.ics; do
cat "$file" | sed -e '$d' $1 | sed -e '1,/VEVENT/{/VEVENT/p;d}' $2 >> merge;
done
mv merge merge.ics
echo "END:VCALENDAR" >> merge.ics;