Cómo hacer un alias a partir de una declaración con muchos: "y muchos: '


2

¿Cómo hacer de esto un alias en zsh?

svn status | grep "^?" | awk -F "      " '{print $2}' | tr "\n" "\0" | xargs -0 svn add

Sé que debería ser algo similar:

alias sall = "the command"

Pero a medida que la línea se mezcla "con 'No sé cómo manejar eso.

Respuestas:


5

Puede usar "para su comando awk.

alias sall='svn status | grep "^?" | awk -F " " "{print $2}" | tr "\n" "\0" | xargs -0 svn add'

Deberia trabajar.


La versión de caracteres escapados da un error sobre un 'no coincide. Pero la primera versión funciona, si lo haces alias sall = 'svn st ...' (sin espacios en blanco)
Nerian

@Nerian: si usa comillas dobles alrededor del comando awk, deberá escapar del signo de dólar:awk -F " " "{print \$2}"
Dennis Williamson

2
Lo siento, Bash lo necesita. Aparentemente, zsh no. Después de probar ambos, veo la diferencia.
Dennis Williamson

1

Usa una función.

sall() {
    svn status | sed -rn 's/^\? {7}//p' | xargs -d '\n' svn add
}

(Dado que svnutiliza la nueva línea como separador de salida, no tiene sentido convertirlo en nulo y viceversa).

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.