Puedo mostrar el archivo de destino al que apunta un enlace ls -l:
snowch$ ls -l /usr/local/bin/mvn
lrwxr-xr-x 1 snowch admin 29 12 Dec 08:58 /usr/local/bin/mvn -> ../Cellar/maven/3.2.3/bin/mvn
¿Hay alguna manera de mostrar menos salida sin tener que canalizar a través de otro comando como awk? P.ej:
snowch$ ls ?? /usr/local/bin/mvn
/usr/local/bin/mvn -> ../Cellar/maven/3.2.3/bin/mvn
Estoy ejecutando 3.2.53 en OS X 10.9.5. La salida de varios comandos se muestra a continuación:
snowch$ ls -H /usr/local/bin/mvn
/usr/local/bin/mvn
snowch$ ls -L /usr/local/bin/mvn
/usr/local/bin/mvn
snowch$ file /usr/local/bin/mvn
/usr/local/bin/mvn: POSIX shell script text executable
snowch$ file -b /usr/local/bin/mvn
POSIX shell script text executable

stat -f "%N -> %Y" -- /usr/local/bin/mvnfuncionó muy bien ¡Gracias!stat -c %N -- /usr/local/bin/mvn. Para eliminar las citas tuve que canalizar esto| perl -pe 's/['"'"'`]//g'tr -d \'\`sería suficiente. Tenga en cuenta que ese sistema RHEL tendría GNUfindcon el que tendrá más control.Usa el
filecomando.o
También, por favor ir a leer a través de la página de hombre
lsy comprobar las opciones-Ly-Hver si eso sería suficiente su requisito.fuente
lsopciones, pero nofile. Desafortunadamente, ninguno parece funcionar :(linuxcaja. Agregueosxcomo una de sus etiquetas. Eso también debería llamar la atención de lososxusuarios. He editado la publicación para agregar la etiqueta, pero no tengo suficientes créditos para que la edición aparezca de inmediato.lsAl menos con un GNU (y, aparentemente,tcshla implementación de) , puede hackear la$LS_COLORSvariable de entorno para insertar delimitadores donde desee (perotcshel incorporadols-Fno hace objetivos de enlace, solo indicadores de enlace ) Por lo generallsinserta escapes de terminal arbitrarios no imprimibles basado en los valores almacenados dentro de ese entorno var, pero no hay nada que nos impida insertar algo arbitrario en su lugar. Más sobre esto aquí .Por ejemplo:
Eso coloca una cadena como
//el encabezado de cada lista (justo anteslrwcrwx) y///\njusto antes del nombre de archivo de cualquier enlace.sedluego filtra en los rangos de línea:delegirá cada línea de entrada hasta que encuentre///y, a partir de ahí, a través de la siguiente línea que coincida//, eliminará las líneas que coincidan//. Por lo tanto, solo obtiene el nombre y el destino del enlace, independientemente de los caracteres que intervienen. Esto se debe a/que no puede aparecer en un nombre de archivo, y aquellos en cualquier rutalspueden imprimir solo ocurrirán individualmente.¿Ver?
... que imprime:
Inténtalo tú mismo.
fuente
lsque admitaLS_COLORSesa forma--color=alwaysy las opciones y después de los argumentos? Si está en un sistema GNU, ¿por qué usaría algo complicado si puede usarfindostat? Eso probablemente tampoco funcionará si haces algoln -s /// some-file.ls. Recuerdo haber leído eso en otro lugar hace meses acerca de quelstodos tienden a aceptar un término como la sintaxis. Un buen punto sobre elln -s ///asunto, pero las\0NUL también funcionan, y de forma-Recursiva. En cuanto a por qué, bueno, es fácil de usar. En algunos casos es más fácil quefind, y parecía un poco más sobre el tema aquí defindlo que hubiera sido. En cualquier caso, no muchas personas lo consideran, así que lo menciono cuando se me recuerda.tcshtienen una versiónls-Fincorporada que admite deLS_COLORSla misma manera que algunas versiones de GNUls, pero recurre a la invocaciónls -Fsi le pasa alguna opción, por lo que no funcionará aquí a menos quelssea GNUlsen su sistema.[En Linux / Bash]
Yo haría esto:
El
sedcomando contrae múltiples espacios en un solo espacio; lacutextrae el campo noveno en adelante donde el campo-separador es un espacio.Salida típica de esto:
Las alternativas son:
Pero esos son imperfectos: el primero puede generar espacios finales; el segundo, espacios principales.
fuente