{,} 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)