[Duvida] Comando em modo texto [resolvido]

Iniciado por Smyle, 03 de Outubro de 2007, 09:16

tópico anterior - próximo tópico

Smyle

Olá.

Sou novo por aqui, estou com um problema para copiar arquivos de uma pasta para outra.

Pretendo copiar todos os arquivos do diretório corrente (por exemplo) que comece por um número e tenha ".txt" em qualquer parte do nome para o diretório "/tmp/copia".
Ex. 1.txt, 1ab.txt, 3abc.txt.bak

Pretendo executar esse comando numa unica linha de comando utilizando os pipes.

Se alguém puder me ajudar ficarei grato

fabiovalinhos

#1
Veja se dá certo.
Se vc estiver no diretório corrente, aonde encontra-se estes arquivos. Tente isso

cp *.txt /tmp/copia ; cp *.txt.* /tmp/copia
Tenho certeza que deve ter uma maneira mais compacta para esse comando. Se os shelleiros tiverem algo a acrescentar, fiquem a vontade. Sem crise.

Assim eu aprendo também.

Tem um detalhe, a cada boot o seu /tmp é limpado. Não sei se nesse caso sua pasta copia pode ir para o espaço na hora que vc desligar sua máquina.


Como brinde, estude isso também. Achei bem legal.

http://ubuntuforum-pt.org/index.php/topic,17812.0.html

73
sudo dpkg no seu quadrado ...sudo dpkg no seu quadrado ...
http://www.youtube.com/watch?v=tHmrq0FtczM

alexmatos

#2
Citação de: fabiovalinhos online 03 de Outubro de 2007, 10:09
Veja se dá certo.
Se vc estiver no diretório corrente, aonde encontra-se estes arquivos. Tente isso

cp *.txt /tmp/copia ; cp *.txt.* /tmp/copia
Tenho certeza que deve ter uma maneira mais compacta para esse comando. Se os shelleiros tiverem algo a acrescentar, fiquem a vontade. Sem crise.

Assim eu aprendo também.

Tem um detalhe, a cada boot o seu /tmp é limpado. Não sei se nesse caso sua pasta copia pode ir para o espaço na hora que vc desligar sua máquina.


Como brinde, estude isso também. Achei bem legal.

http://ubuntuforum-pt.org/index.php/topic,17812.0.html

73

Dessa forma funcionaria, exceto pelo fato de você não ter especificado que o arquivo começa por um número.

Acho que o seguinte comando teria uma abordagem mais direta.

cp [0-9]*.txt* /tmp/copia

Explicando: o comando copia arquivos cujo primeiro caractere é um número de 0 a 9; seguido (ou não) de quaisquer outros caracteres; seguidos por '.txt'; seguido (ou não) por quaisquer outros caracteres. Ou seja, o comando copiaria, por exemplo, os seguintes arquivos:

1.txt
1.txt.bak
234Smyle.txt
5abc.txt.bak
90000.txt_BACKUP



Esse link me ajudou a chegar a esse comando (em inglês):
http://polishlinux.org/console/regular-expressions-and-search-patterns/


Smyle, tente isso e me diga se funciona, ok?

fabiovalinhos

Citação de: alexmatos online 03 de Outubro de 2007, 10:33...Dessa forma funcionaria, exceto pelo fato de você não ter especificado que o arquivo começa por um número.......

Verdade Alex, distração minha. Acho que eu tinha injetado pouca cafeína no corpo ainda.  :)

Valeu pela atenção.
73
sudo dpkg no seu quadrado ...sudo dpkg no seu quadrado ...
http://www.youtube.com/watch?v=tHmrq0FtczM

Smyle

alexmatos

Funcionou perfeitamente aqui eu estava errando um detalhe quanto ao primeiro caracter ser um numero...

VLWW e muito obrigado pelo brinde já aprendi mais alguns conceitos

fabio vlw
pelo link.. também ajudou
VLW