Cuando lo hago ls -l | grep ^d, solo enumera los directorios en el directorio actual.
Lo que me gustaría saber es lo que hace el símbolo de intercalación ^en la ^dmedia?
command-line
grep
special-characters
Deslizamiento
fuente
fuente

ls */, en cambio, lo que funcionará con o sin la lista larga (ls -l) y sin necesidadgrep(y, por lo tanto, es un poco más rápido) y es menos probable (quels -l *) encontrarse con un problema de lista de argumentos demasiado largo (ya que solo coloca directorios en el comando línea). Por supuesto,find . -maxdepth 1 -type des aún mejor, ya que no satura tu línea de comando en absoluto.Respuestas:
La respuesta de Andy es correcta, como se ve en la página del manual:
La razón por la que funciona es la
-lbandera quelshace que use el formato de lista larga. Lo primero que se muestra en cada línea son los permisos legibles por humanos para el archivo, y el primer carácter de eso esdpara un directorio o-para un archivofuente
Eso es una preocupación, no una zanahoria. Significa "comienzo de la línea". El grep solo coincide con líneas que comienzan con "d".
fuente