Reutilizar texto en un comando bash


13

Si estoy escribiendo un comando largo o simplemente escribiendo una ruta de archivo extensa, ¿hay alguna que pueda "reutilizar" con algún atajo de comando?

p.ej:

1)cp /home/myuser/really/big/file/here/and/there.png /home/myuser/really/big/file/here/and/there.png.bkp

¿Realmente tengo que escribirlo de nuevo?

Respuestas:


14

Usar expansión de llaves

cp /home/myuser/really/big/file/here/and/there.png{,.bkp}

1
+1 y puedes ir aún más corto:cp /home/myuser/really/big/file/here/and/there.{,.bkp}
Mike Fitzpatrick

@peth: Vaya, sí, tienes razón. Así que podemos ir aún más cortos: cp /home/myuser/really/big/file/here/and/there{,.bkp}:)
Mike Fitzpatrick

4

Además, la expansión de la historia puede funcionar aquí:

cp /home/myuser/really/big/file/here/and/there.png !#:1.bkp

donde la !#:1parte se refiere al primer argumento del comando que está escribiendo actualmente.


1

Puede ahorrar mucho tiempo escribiendo eso utilizando la expansión de pestañas, el acceso directo tilde y el historial de comandos.

Por ejemplo,

~/r[tab]/b[tab]/f[tab]/h[tab]/a[tab]/t[tab]/

(donde [tab] significa "presione la tecla Tab") se expandiría a

/home/myuser/really/big/file/here/and/there

También podrías escribir

cp /home/myuser/really/big/file/here/and/there.png /some/destination

luego presione la flecha hacia arriba y simplemente cambie las últimas tres letras del nombre del archivo

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.