Uso das chaves na linha de comando 
Um parâmetro pouco empregado e quase desconhecido em bash é o uso das chaves em um comando.
$ ls -la $ mkdir Arquivo{01,02,03,04,05,06,07,08,09,10}-teste $ ls -la $ for i in 01 02 03 04 05 06 07 08 09 10 
$ echo teste{0,1,2,3,4,5,6,LIXO} 
Outras dicas deste autor
 
 
 
 
 
Leitura recomendada 
 
 
 
 
 
 
Comentários
	
		
		
	
	
	
	
	
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Não dá.
Os {} são avaliados pelo shell antes do subcomando.
Mas assim funciona:
mkdir  Arquivo{0{1..9},10}-teste
E no segundo caso:
mkdir Arquivo{1..30}-teste 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Boa garoto... anotado! 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Legal mesmo é criar diretórios "recursivamente":
$ mkdir -p tmp/{usr/{bin,share,doc,lib/pkgconfig},etc/{X11,init.d},var/{log,www/htmldocs/}}
O problema é que é muito fácil se perder entre tantos abre e fecha chaves... 
PS: Porque eu sempre confundo chaves com colchetes? hauahua 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Estou no trabalho e não posso fazer uns testes agora (máquinas win) mas, queria algo pra se utilizar com o "mv" na tarefa de renomear arquivos. Algo como:
$ mv Arquivo.Teste.{0{1..9},{10..20}}* arquivo_teste_{0{1..9},{10..20}}.ext
Alguém sabe se isso aí funcionaria? 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Nem pensar!
O mv não funciona assim. 
É sempre mv UmArquivo OutroArquivo
OU mv VariosArquivos Diretorio
NUNCA mv VariosArquivos OutroVariosArquivos
Para renomear vários assim somente com um laço usando for ou while 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Valeu Elgio!
Eu imaginei que ele não aceitaria, só não tinha certeza... iria facilitar tanto...
Hehheheheh
Bom, continuo nos laços mesmo.
Abraço. 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Só por curiosidade mesmo, mas, alguém sabe o limite máximo de diretórios que posso criar com uma única linha no mkdir? Ou seja, o tamanho máximo da lista de argumentos.
Assim: mkdir diretorio01 diretorio02
até o diretório n?
Abraços. 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Muito legal essa de criar diretórios recursivamente Tenchi. Anotado também! :D
Falows, abraço. 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							favoritadaço!! =D 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							opa, alguem sabe se da pra renomear uma pasta em comum em varios pcs com nomes sequenciais com uso de chaves? por ex: mv micro{1..10}/home/usuario/teste /home/usuario/teste2 
Abs 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Isto já foi respondido 5 comentários acima, em 29/10/2007 - 09:33h.
O mv só suporta DOIS parâmetros ou vários se apenas o último for uma pasta e todos os anteriores forem arquivos. 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
Contribuir com comentário 
 
Enviar