No estoy seguro de si es posible, pero parece que recuerdo de mis viejos tiempos usando AIX que era posible cambiar mi ruta simplemente diciendo qué parte de la ruta necesitaba ser reemplazada por otra. Por ejemplo, digamos que tengo dos caminos:
/etc/application-2.0.1/options/default
y
/etc/application-1.0.8/options/default
que podría cambiar de la carpeta 1 a la 2 usando un comando como
cd /2.0.1/1.0.8/
que reemplazaría, en el camino, la cadena 2.0.1
a 1.0.8
. Obviamente esto no funciona para mí ahora. Pero, ¿hay alguna manera de hacer esto?
sudo apt-get install zsh
Esto debería funcionar en bash en Ubuntu 10.04:
cd ${PWD/old/new}
. Básicamente, esto reemplaza la primera aparición deold
en su directorio de trabajo actual connew
. 2 ejemplos a continuación.Ejemplo 1
Ejemplo 2
Tomando prestada la idea de sepp2k anterior, podría hacer una función como esta
y luego usa algo como
mycd 2.0.1 1.0.8
cambiar.fuente
He usado (y he perdido) esta característica yo mismo. Depende de qué sabor y / o liberación de * nix esté usando. Si usa bash, aquí hay una forma práctica de extender el CD incorporado para incluir esta funcionalidad. Ponga esto en su .bashrc (o para probar pegarlo en su shell de bash y presionar enter).
fuente
Probablemente estés recordando la expansión de la historia. No sé qué estaba disponible en su shell en AIX, pero una forma de hacerlo en bash es
^2.0.1^1.0.8
.La expansión del historial es menos útil con shells como bash y zsh que tienen una poderosa edición de línea de comandos. Puede usar las teclas de flecha para recuperar comandos anteriores y Alt+ .para insertar la última palabra del comando anterior (presiónelo dos veces para llegar al comando anterior y así sucesivamente).
fuente
histverify
opción deshopt
está activada.--norc
al probar.Si eres un fanático de vi, puedes habilitar el modo vi en tu shell (bash set -o vi por ejemplo) y usar el modo de comando de vi ...
O podría hacer una expansión loca de la historia (probada en zsh, quizás también en bash):
fuente
Sin embargo, esto no es muy bonito. Puedes mejorarlo un poco, poniéndolo en una función:
Y luego llamándolo así:
Sin embargo, aún necesita escapar de los puntos, pero estoy seguro de que esto también se puede solucionar con un poco de reflexión.
fuente
El comando anterior intercambia 2.0.1 a 1.0.8 en el último comando, funciona en bash
fuente
Para garantizar que el
-P|-L|-
trabajo utilice lo siguiente:fuente
No estoy seguro acerca de AIX, pero recuerdo esto como un viejo truco de shell Korn en los cuadros de Solaris que solía administrar. En su ejemplo, escribiría el comando:
Un poco más de información aquí .
fuente