¿Cuál es la forma correcta de reutilizar este one-liner?

Recientemente se me ocurrió el siguiente delineador:

for f in *.mp3; do sha1sum $f | sed -r 's/[az]//g' | cut -c1-2 | awk '{ print ($1 >= 255) ? $1 - $1 + (1/3)*$1 : $1 }' | xargs -i id3v2 -T {} $f; done 

Lo necesitaba porque tengo un reproductor de MP3 que no tiene una function de reproducción aleatoria. Era la única forma en que podía encontrar (en aproximadamente una hora de testing) para dar una distribución aleatoria adecuada a los nombres de las pistas. (Al principio usé jot , pero este progtwig no actualiza su semilla aleatoria con la frecuencia suficiente para producir resultados aleatorios. Por cierto, si alguien puede pensar en una buena forma de hacerlo que realmente funcione, me interesa escuchar al respecto.)

Intenté almacenarlo como un alias y obtuve:

 awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error awk: cmd. line:1: { print ( >= 255) ? - + (1/3)* : } awk: cmd. line:1: ^ syntax error 

Simplemente parece que debería haber una forma conveniente de almacenarlo en mi .bashrc .

Soy consciente de que podría escribirlo en un file y chmod +x dentro de mi $path con un shebang, pero prefiero usar mi .bashrc para las cosas siempre que sea posible.

Si realmente no desea tener esto en su propio file, debe usar una function bash, no un alias .

¿Cómo definiste tu alias? Si escribiste algo como alias bla="for f in *.mp3.... tu * podría estar vacío, si no lo has escapado, porque se interpreta en el time de evaluación de tu bash, no en el momento en que se ejecuta . Lo mismo ocurrirá con $f etc.

Algunos otros puntos: ¿por qué compara dos dígitos ( cut -c1-2 ) a 255? El número siempre será más pequeño que 100. ¿Por qué escribe $1 - $1 + (1/3)*$1 ? Esto es simplemente ($ 1) / 3.