Extrai parte da primeira linha de um arquivo

4

Eu estou tentando configurar alguns comandos externos no Gedit3, para compilar arquivos LaTeX. Tudo funciona bem, exceto pelo seguinte. Eu tenho um documento LaTeX, composto de muitas partes. Cada arquivo começa com

% mainfile: name_of_main_file.tex

Então, no bash, estou tentando extrair a primeira linha de cada arquivo e, a partir dessa linha, extrair name_of_main_file.tex e compilá-lo. Então a questão é: qual é a maneira mais rápida de extrair name_of_main_file.tex , carregá-lo em uma variável, digamos $MAINFILE , para que eu possa compilar isso?

    
por Gilles 24.01.2012 / 09:48

2 respostas

3
#!/bin/bash

for file in *.tex; do
  read _ _ mainfile < "$file"
  echo "$file : $mainfile"
done

Nota : Estou supondo que os arquivos dos quais você deseja extrair as primeiras linhas sejam .tex files, se este não for o caso, altere a parte *.tex de acordo

    
por 24.01.2012 / 09:58
3

Isso deve fazer o trabalho (não testado):

sed -sn 1p *.tex | cut -f2 -d: | xargs latex
    
por 24.01.2012 / 10:10