Pular para o conteúdo

O comando YES

Dica publicada em Linux / Introdução
Frederico Madeira fred_m
Hits: 21.409 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar

O comando YES

O yes é um programa que é instalado pelo pacote coreutils e sua função é retornar repetidamente um caractere ou ainda uma expressão de forma repetida até que o processo seja morto.

Você já tentou copiar/mover milhares de arquivos de uma pasta para outra onde na pasta de destino já existam uma parte destes arquivos? Pois é, ao tentar fazer isso, ele irá perguntar se você deseja sobrescrevê-lo. Procurei vários argumentos dos comandos cp e mv e não encontrei uma forma de usar o yes to all (sim para todos).

Para minha sorte o Linux traz uma solução muito criativa que pode ser usada para este e para outros casos, é o comando yes.

Este comando foi criado para repetir caracteres ou expressões repetidamente até que seja morto. Se utilizado sem nenhuma expressão, ele retornará y.

Por exemplo:

yes

Retornará seqüências de y.

yes n

Retornará seqüências de n.

Desta forma, se quisermos o equivalente ao yes to all, podemos usar o seguinte comando:

yes | cp -R /dir1 /dir2

ou ainda se quisermos no to all:

yes n | cp -R /dir1 /dir2

Abraços.

Frederico Madeira
www.madeira.eng.br

Nenhuma dica encontrada.

Instalando Tomcat5 no Debian Etch

Linux em família

Configuração de rede sem fio no Linux Educacional 3.0

Você conhece o NetbootCD?

Configurando Wireless Atheros AR5212 no Fedora 4

#1 Comentário enviado por alessandro_ufms em 02/01/2009 - 12:07h
O que pode estar acontecendo é que o sistema possui um alias para os comandos cp e mv com o parametro -i. Sem esse parametro o cp nem o mv pergunta se quer sobre-escrever os arquivos.
#2 Comentário enviado por eldermarco em 02/01/2009 - 12:18h
De qualquer maneira, é um comando interessante. Vlw pela dica.

#4 Comentário enviado por vitinho217 em 04/07/2014 - 09:03h
Eu estava procurando o no to all, valeu !

Contribuir com comentário

Entre na sua conta para comentar.