[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Como fazer isso com o sed
From: |
Fernando Lemes da Silva |
Subject: |
Re: [shell-script] Como fazer isso com o sed |
Date: |
Mon, 29 May 2006 10:17:59 -0300 |
User-agent: |
KMail/1.9.1 |
Olá Weder,
Voce não precisa usar barras como delimitadores de campo no sed. Voce pode
fazer algo usando "pipes"..
$ sed 's|/bin/bash$|/bin/false|'
ou
$ sed 's/\/bin\/bash$/\/bin\/false/'
Note que eu tirei a opção g (global) e adicionei um $ para casar a
expressão regular somente com o final da linha. Visite a página do Aurélio
(www.aurelio.net) que lá tem um ótimo tutorial de sed.
[]'s
--
/**********************************************
_
°v° Fernando Lemes da Silva
/(¡)\ www.koho.com.br
^ ^ Linux user #address@hidden
**********************************************/
Em Segunda 29 Maio 2006 09:58, weder_feliciano escreveu:
> Programa em shell a pouco tempo, to aprendendo bastante e percebi que
> o sed é um comando poderosíssimo, porém eu não consigo fazer uma coisa
> com ele, suponhamos que eu tenha:
> man:x:6:12:man:/var/cache/man:/bin/sh
> lp:x:7:7:lp:/var/spool/lpd:/bin/sh
> mail:x:8:8:mail:/var/mail:/bin/sh
> news:x:9:9:news:/var/spool/news:/bin/sh
> uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
> proxy:x:13:13:proxy:/bin:/bin/sh
> www-data:x:33:33:www-data:/var/www:/bin/sh
> backup:x:34:34:backup:/var/backups:/bin/sh
> Eu gostaria de trocar tudo com final /bin/sh para /bin/false, então eu
> usário sed 's/noma_atual/nome_que_quero/g' > /tmp/passwd
> Mas como eu faço resolver o problema das "/" já que tenho que trocar
> /bin/bash por /bin/false?