De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

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 :-)

Referência: Bash One-Liners Explained, Part II: Working with strings

«« ldt_304 | 20150810 »»

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


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