você está aqui: Home  → Arquivo de Mensagens

Bash - Expansão de caracteres

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 10 de agosto de 2015

Para gerar uma lista composta de letras e números, podemos emitir o seguinte comando:

  $ echo {a,b,c}{1,2,3}
  a1 a2 a3 b1 b2 b3 c1 c2 c3

Podemos ainda especificar uma faixa (range) de valores:

  echo {a..z}{1..3}
  a1 a2 a3 b1 b2 b3 c1 c2 c3 d1 d2 d3 e1 e2 e3 f1 f2 f3 g1 g2 g3 h1 h2 h3 i1 i2
  i3 j1 j2 j3 k1 k2 k3 l1 l2 l3 m1 m2 m3 n1 n2 n3 o1 o2 o3 p1 p2 p3 q1 q2 q3 r1
  r2 r3 s1 s2 s3 t1 t2 t3 u1 u2 u3 v1 v2 v3 w1 w2 w3 x1 x2 x3 y1 y2 y3 z1 z2 z3

A expressão {a..z} indica que os valores devem variar de a até z, o mesmo valendo para a segunda expressão entre colchetes, que indica a variação dos números.

Para imprimir cada um destes caracteres em uma linha separada, podemos usar a diretiva "-e" do comando echo. Esta diretiva habilita a interpretação da barra invertida (backslash). A barra invertida (\) indica à shell que o caractere que a segue deve ser interpretado literalmente, mas em nosso caso, queremos que os caracters "\n" sejam interpretados como uma quebra de linha, precisamos indicar isto ao comando echo.

  $ echo -e {a,b,c}{1,2,3}'\n'
  a1
  a2
  a3
  b1
  b2
  b3
  c1
  c2
  c3

Este é o princípio geral, basta agora ver qual é a sua necessidade e ser criativo :-)

Fonte: Bash One-Liners Explained, Part II: Working with strings



Veja a relação completa dos artigos de Rubens Queiroz de Almeida

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script