shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: [ Sed ] - Append


From: Alfredo Casanova
Subject: Re: [shell-script] Re: [ Sed ] - Append
Date: Sat, 08 Nov 2014 14:01:26 +0000

Uma linda gambiarra:

$ cat testesed 
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

$ for i in $(seq $(grep alias testesed | wc -l)); do var=n\;$var; done
$ sed  "/alias/{$var;p;s/.*/Texto adicionado/;}" testesed

$ sed  "/alias/{$var;p;s/.*/Texto adicionado/;}" testesed
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
Texto adicionado

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi


On Sat Nov 08 2014 at 8:54:49 AM address@hidden [shell-script] <address@hidden> wrote:
 

Gustavo,


Eu não manjo o suficientemente sobre sed, e então não sei como em sed poderia resolver esse caso especificamente. Não tenho certeza se a solução do Rodrigo funcionaria, mas a priori me parece que não para o seu caso.

O que eu interpreto é que você quer colocar um linha nova após o bloco de "alias".
Já que com o sed eu não posso oferecer uma sugestão aproveitável, vou dar um pitaco usando o awk:

awk '/^alias/{buffer=2}; {if(buffer==1){print "texto"}; print; buffer--}' /root/.bashrc

Aqui funcionou da forma como entendi.
Veja se isso lhe atende com o uso do awk

[]'s
Itamar


reply via email to

[Prev in Thread] Current Thread [Next in Thread]