Prezado colega irtigor, aqui estou mais uma vez para tentar melhorar meu script.
Pois bem, meus arquivos são criados baseados nos arquivos .tex de uma pasta. Esses arquivos não estão nomeados com os nomes dos usuários, mas sim, com os e-mails. Portanto, quando usoecho "| criando arquivos novos de índice para importação..."
for file in texfiles/comm*.tex ; do
#grep -E '^.author' $file >> indice-comm.tex
echo -e "\\import{$file}\n" >> indice-comm.tex
sed -e 's;\.tex;;' -i indice-comm.tex
done
echo "| arquivo indice-comm.tex criado"
o resultado não fica por ordem alfabética baseado nos nomes dos users.
Bem, mas dentro de cada arquivo .tex existe o comando \author{} que contém o nome completo de cada user. Então, minha ideia é tentar recuperar essa informação para usá-la na ordenação.
Veja que acima eu fiz um teste com o grep de modo consegui escrever no indice-comm duas linhas para cada $file:
uma com o \author{} e a outra com o \import{$file}. Só que isso não ajuda, pois como vou pedir pra colocar o indice-comm em ordem alfabética? Sei que tem o comando sort, mas daí ele vai colocar tudo o que for \author na frente, vai deixar o \import pro fim, perdendo a relação entre eles.
Acho que dá pra corrigir se eu conseguir escrever essas duas informações na mesma linha do indice-comm. Mas isso eu não sei fazer. Queria escrever no arquivo algo parecido com:
\author{fulano}\import{arquivo}
\author{outro fulano}\import{seu outro arquivo}
e depois classificar alfabeticamente este arquivo.
Alguma ideia mais formal? Obrigado desde já.