[+] Inicio | [+] Contacto | [+] Blog



{,} en los comandos de Linux y Unix?

$ date | cat c4t3g0ry;
- - Publicado el 04/11/2014 | Esto es sobre: Unix/Linux Sys.Admin

Por lo general utilizo esto {,} cuando necesito crear archivos numerados: archivo1, archivo2, archivo»n»:

> [ rafael ] ~ $ touch archivo{1..3}.log
> [ rafael ] ~ $ ls -lt
total 0
-rw-r--r--  1 rafael  0xl337     0B Nov  4 00:52 archivo1.log
-rw-r--r--  1 rafael  0xl337     0B Nov  4 00:52 archivo2.log
-rw-r--r--  1 rafael  0xl337     0B Nov  4 00:52 archivo3.log
> [ rafael ] ~ $

El comando touch archivo{1..3}.log, me ha creado los tres archivos y los ha enumerado; {1..3}, de igual forma podemos usarlo para ahorrarnos tiempo al crear los archivos de logs y su respaldo por así decirlo:

> [ rafael ] ~ $ touch logs.txt{,.bak}
> [ rafael ] ~ $ ls -lt
total 0
-rw-r--r--  1 rafael  0xl337    0B Nov  4 01:02 logs.txt
-rw-r--r--  1 rafael  0xl337    0B Nov  4 01:02 logs.txt.bak
> [ rafael ] ~ $

Otra de las utilidades que le eh encontrado es para cambiar de nombre o extensión a los archivos y así cómo copiarlos:

> [ rafael ] ~ $ touch logs.texto
> [ rafael ] ~ $ ls
logs.texto
> [ rafael ] ~ $ mv logs.{texto,txt}
> [ rafael ] ~ $ ls
logs.txt
> [ rafael ] ~ $ cp logs.txt{,.texto}
> [ rafael ] ~ $ ls
logs.txt        logs.txt.texto
> [ rafael ] ~ $

De esta forma nos ahorramos tiempo en cp/mv logs.txt logs.texto. Existen varias formas para sacarle provecho:

> [ rafael ] ~/ $ echo bucio.{mx,com.mx} | xargs -n 1 host -v
Trying "bucio.mx"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5972
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;bucio.mx.			IN	A

;; ANSWER SECTION:
bucio.mx.		289	IN	A	104.28.29.99
bucio.mx.		289	IN	A	104.28.28.99

Received 58 bytes from 8.8.8.8#53 in 48 ms
Trying "bucio.mx"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5653
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;bucio.mx.			IN	AAAA

;; AUTHORITY SECTION:
bucio.mx.		1799	IN	SOA	jean.ns.cloudflare.com. dns.cloudflare.com. 2016419193 10000 2400 604800 3600

Received 88 bytes from 8.8.8.8#53 in 63 ms
Trying "bucio.mx"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32175
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;bucio.mx.			IN	MX

;; ANSWER SECTION:
bucio.mx.		231	IN	MX	10 aspmx2.googlemail.com.
bucio.mx.		231	IN	MX	5 alt2.aspmx.l.google.com.
bucio.mx.		231	IN	MX	1 aspmx.l.google.com.

Received 115 bytes from 8.8.8.8#53 in 49 ms
Trying "bucio.com.mx"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59119
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;bucio.com.mx.			IN	A

;; ANSWER SECTION:
bucio.com.mx.		172	IN	A	104.28.21.102
bucio.com.mx.		172	IN	A	104.28.20.102

Received 62 bytes from 8.8.8.8#53 in 47 ms
Trying "bucio.com.mx"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54856
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;bucio.com.mx.			IN	AAAA

;; ANSWER SECTION:
bucio.com.mx.		299	IN	AAAA	2400:cb00:2048:1::681c:1466
bucio.com.mx.		299	IN	AAAA	2400:cb00:2048:1::681c:1566

Received 86 bytes from 8.8.8.8#53 in 98 ms
Trying "bucio.com.mx"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22122
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;bucio.com.mx.			IN	MX

;; ANSWER SECTION:
bucio.com.mx.		299	IN	MX	5 alt2.aspmx.l.google.com.
bucio.com.mx.		299	IN	MX	10 aspmx2.googlemail.com.
bucio.com.mx.		299	IN	MX	1 aspmx.l.google.com.

Received 119 bytes from 8.8.8.8#53 in 63 ms
> [ rafael ] ~ $

(y)