|
From: | Julio C. Neves |
Subject: | Re: [shell-script] Inserir Bloco de código em um arq uivo sem o uso do comando cat |
Date: | Tue, 3 May 2016 09:49:57 -0300 |
Robson AlexandreAtenciosamentee vc terá em script2.sh algo executável que não foi interpretado.Neste caso vc pode usar HereDocument e todos os símbolos q o shell interpretaria vc deve escapá-los, p.e.Julio, veja se é isto que vc está procurando saber ou algo parecido.Qdo vc fala em bloco de comandos e ignorar $variaveis, acredito que vc queira fazer um script q irá gerar outro script para ser executado.
cat <<EOC > script2.sh
#!/bin/bash
echo "Executando bloco de cmds..."
var1="Variavel 1"
echo \$var1
teste=teste\`uname -r\`
echo \$teste
EOCEm dom, 1 de mai de 2016 às 12:55, Sidney Souza address@hidden [shell-script] <address@hidden> escreveu:Só mais uma dúvida: O comando source script1.sh dentro do script2.sh não resolve o seu problema "Cardoso"Em Sexta-feira, 29 de Abril de 2016 14:21, "'Julio C. Neves' address@hidden [shell-script]" <address@hidden> escreveu:
Então continuam 2 dúviadas: a sua e a nossa. É muito difícil imaginar, em uma lista shell, algo que *não* use cmds shell!D E S I S T O!!!!!Em 28 de abril de 2016 21:52, Julio Cardoso address@hidden [shell-script] <address@hidden> escreveu:Obrigado a todos.
A dúvida é, uma maneira simples de isolar várias linhas sem nescessitar que se use comandos em shell.
Obrigado a todos!
Em 28-04-2016 11:42, 'Julio C. Neves' address@hidden [shell-script] escreveu:
Fala Itamar,eu tb havia pensado no cmd read (r) do sed. De forma simplificada para o nosso caso, ele funcionaria assim:
$ cat arq2,22,42,62,8$ seq 4 | sed '2r arq'
122,22,42,62,834
Ou seja inseri *após* a linha 2, o arquivo arq.
Em 27 de abril de 2016 22:26, address@hidden [shell-script] <address@hidden> escreveu:
Julio Cardoso
Nesse exemplo em especial apenas troque as aspas duplas ( " " ) por aspas simples ( ' ' ), que delimitam o trecho de código a ser inserido.
Mas se quiser inserir um script no meio de outro pode usar o getline no awk.
Vamos supor que queira incluir o script2.sh depois da sexta linha do script1.sh, e o resultado vá para saida.sh, poderia ser assim:
awk '1;{if (NR==6) {while ((getline linha < "script2.sh")>0) print linha;}}' script1.sh > saida.sh
Com sed também é possível usando o comando "-r arquivo", mas tem algumas pegadinhas que não domino o suficiente para um exemplo seguro.
Isso ajuda?
[]'s
Itamar
[Prev in Thread] Current Thread [Next in Thread]
- Re: [shell-script] Inserir Bloco de código em um arq uivo sem o uso do comando cat, Sidney Souza, 2016/05/01
- Re: [shell-script] Inserir Bloco de código em um arq uivo sem o uso do comando cat, Robson Alexandre, 2016/05/02
- Re: [shell-script] Inserir Bloco de código em um arq uivo sem o uso do comando cat, Julio C. Neves <=
- Prev by Date: Re: [shell-script] Inserir Bloco de código em um arq uivo sem o uso do comando cat
- Next by Date: Retirada de caracter do conteúdo de variável com sed
- Previous by thread: Re: [shell-script] Inserir Bloco de código em um arq uivo sem o uso do comando cat
- Next by thread: Retirada de caracter do conteúdo de variável com sed
- Index(es):