С вашим входным файлом, указанным в вопросе, один лайнер можно сделать так:
$ python -c 'import sys,re;f=open(sys.argv[1],"r");a=tuple(l for l in f.readlines() if l.startswith("\\author") );print("\n".join(re.split(", |,|{|}",a[0].strip())[1:]))' input.tex
Author 1
Author 2
Author 3
И скрипт как таковой:
#!/usr/bin/env python
import sys,re
# read the doc, find the desired line
line=""
with open(sys.argv[1]) as f:
for l in f:
if l.startswith("\\author"):
line=l.strip()
break
# split at multiple separators, get slice of that list starting since 2nd item
author_list = re.split( ", |,|{|}", line )[1:]
# print 1 author per line
print("\n".join(author_list))
Основные шаги выполняются в два раза -прочитать файл и найти строку, которая начинается со строки \\authors
, а затем разбить строку по нескольким разделителям на список токенов и создать новую -строку, разделенную строкой. из этого списка токенов. Я также взял на себя смелость рассмотреть возможность того, что вам, возможно, придется разделить либо на ,
, либо на ,<space>
.
ssh-add
не учитывает файл конфигурации. Он просто добавляет ключ к агенту.
Клиент ssh
попытается использовать ключ ~/.ssh/id_rsa_bull
при подключении к одному из gg-root
илиss-root
(из-за конфигурации IdentityFile
). Если этот ключ доступен в агенте, то он будет использоваться оттуда, в противном случае будет использоваться ключ из файла (и, возможно, потребуется указать пароль, если ключ связан с ним ).
Ключи в агенте также будут использоваться при подключении к любому другому хосту , не сконфигурированному с определенным IdentityFile
в ~/.ssh/config
. Это означает, что конфигурация ограничивает ключи, используемые для аутентификации с определенными хостами, но показанная конфигурация не препятствует использованию «бычьего ключа» с другими хостами.