Cómo crear enlaces simbólicos en masa

    GNU/Linux

    Recientemente he instalado el paquete python3-csvkit en Fedora 24 y todos los comandos csv… terminan en -3 o -3.5.

    P. ¿Cómo puedo lograr que los comandos terminen en su forma estándard, por ejemplo csvlook en lugar de csvlook-3, csvsort en lugar csvsort-3, …?

    R. Puedes crear los enlaces simbólico uno a uno por ejemplo:

    $ sudo ln -s /usr/bin/csvlook-3.5 /usr/bin/csvlook

    Pero podemos acelerar el proceso anterior creándolos en masa, para ello tecle el siguiente grupo de comandos en su consola.

    $ for file in $(find  /usr/bin/ -name 'csv*3.5');do link=$(echo $file|sed -r 's/\-3\.5//');sudo ln -svf $file $link;done

    Los comandos anteriores siguen la siguiene lógica:

    1. El comando find busca en /usr/bin todo los ficheros que su nombre comienza con csv y termine con 3.5. (Puede ver Comando find – 25 ejemplos prácticos para más información sobre el comando find)

    2. Para cada fichero encontrado el comando sed reemplaza la cadena 3.5 por vacío y el resultado se asigna a la variable link.

    3. Por último se crea el enlace simbólico.

    Lecturas recomendadas

    – man find
    – man sed
    – man ln




    Dejar un comentario

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *