Re: Ajuda com o Sed
Parece que voce nao precisa do segundo arquivo:
a solucao parece ser:
#!/bin/bash
[ "$2" = "" ] && exit 1 ## se o primeiro parametro for vazio,
acaba o ## script com status error
nome_do_db=$1 ## o primeiro parametro dado 'e o nome do db.
latex_arquivo=${nome_do_db}.ltx ## arquivo final
##( tu tambem poderia ## designar um directorio para
salvar os ## arquivos finais: )
## directorio_final=$2 ## o segundo parametro seria o nome desse
## directorio
## [ "$2" = "" ] && exit 1 ## se o segundo parametro for vazio,
acaba o ## script com status error
## latex_arquivo="$directorio_final/"`basename $1`".ltx" ##
for linha in `cat $nome_do_db` ## para cada linha do arquivo dado ..
do
arquivo_basename=`basename $linha` ## o nome no arquivo sem o
## directorio
string1="\chapter{Arquivo $linha}" ## controi a primeira linha
string2="\lstinputlisting{$arquivo_basename}" ## constroi a
##segunda linha
echo string1 >> $latex_arquivo ##escreve a primeira linha
echo string2 >> $latex_arquivo ##escreve a segunda linha
echo >> $latex_arquivo ## coloca uma linha em branco entre as ##
entradas no arquivo final
done
exit 0 ## finaliza o programa com status sucessfull
Savio Ramos wrote:
Olá,
Desejo juntar dois arquivos e creio que seria o uso do Sed a solução do
problema.
O primeiro arquivo contém os nomes e caminhos dos arquivos acrescidos de uma
contra barra antes do sublinhado:
qcadactions/src/rs\_actioninfodist2.cpp
qcadactions/src/rs\_actionlayersadd.cpp
qcadactions/src/rs\_actionblocksexplode.cpp
qcadactions/src/rs\_actionfilesave.cpp
[...] e assim vai...
O segundo contém os nomes dos arquivos sem a contra barra antes do
sublinado:
rs_actiondrawcircle.cpp
rs_actioninfodist2.cpp
rs_actionlayersadd.cpp
rs_actionblocksexplode.cpp
rs_actionfilesave.cpp
[...] e assim vai...
Desejo que sejam mesclados os dois e cada linha fique assim, o caminho do
arquivo e nome do arquivos acrescidos dos comandos do Latex:
\chapter{Arquivo qcadactions/src/rs\_actiondrawcircle.cpp}
\lstinputlisting{rs_actiondrawcircle.cpp}
\chapter{Arquivo qcadactions/src/rs\_actioninfodist2.cpp}
\lstinputlisting{rs_actioninfodist2.cpp}
\chapter{Arquivo qcadactions/src/rs\_actionlayersadd.cpp}
\lstinputlisting{rs_actionlayersadd.cpp}
\chapter{Arquivo qcadactions/src/rs\_actionblocksexplode.cpp}
\lstinputlisting{rs_actionblocksexplode.cpp}
\chapter{Arquivo qcadactions/src/rs\_actionfilesave.cpp}
\lstinputlisting{rs_actionfilesave.cpp}
Qual o programa executa tal façanha? Existe solução simples com o Sed ou tenho
que encarar um estudo maior com Emacs que entendo menos ainda que o Sed que não
entendo nada?
Qualquer ajuda sou-lhes grato pois são mais de 250 arquivos e na mão vou levar
dias para completar a tarefa.
Reply to: