¿Cómo enumerar solo archivos de cierto tipo en la terminal?

1

¿Cómo puedo enumerar todos los archivos de cierto tipo en un directorio?

Por ejemplo, si quiero ver todos los archivos MP3 en la carpeta actual, ¿qué debo hacer?

Suit Boy Apps
fuente

Respuestas:

2

Sin tener en cuenta el sufijo , puede usar el filecomando para identificar archivos de audio. Eso es más complicado de lo que lspuede hacer un comando simple , por lo que uno usaría un script. Por ejemplo (ID3 parece ser filejerga para MP3):

#!/bin/sh
for name in "$@"
do
    case $(file "$name") in
    (*Audio*ID3*)
        ls -l "$name"
        ;;
    esac
done

Poniendo eso en su ruta ejecutable ( ~/bincomo "ls-audio") puede hacer

ls-audio *

para enumerar detalles de solo los archivos de audio MP3.

Thomas Dickey
fuente
#!/bin/sh- ¿Es eso realmente shy no bash? - si te refieres a bash, entonces cambia a bash.
Hannu
Si quisiera usar una función específica de bash, usaría bash. Este script no se basa en ninguna característica específica de bash (solo POSIX).
Thomas Dickey
Parece que no lo he dicho con suficiente claridad. Sugerencia: ¿ shen OSX es solo un enlace duro bash? Para Ubuntu 14.04 es un enlace a dash... es posible que tenga problemas derivados del hecho de que no obtiene lo que espera: POSIX o no, el grado de cumplimiento varía.
Hannu
Es un enlace simbólico (no un enlace duro). Sin embargo, su punto es oscuro, ya que probé con guión en Debian antes de publicar mi respuesta. Si tiene alguna crítica específica sobre el uso del script de las funciones POSIX, sería útil.
Thomas Dickey
0

Usando el foco de OS X:

mdfind -onlyin /path/to/directory  "kMDItemKind == 'MP3 audio'"
fd0
fuente
-1

Simplemente puede ir al directorio que desea consultar utilizando el cdcomando para llegar al directorio que desea consultar. Luego escriba ls *.mp3para enumerar todos los archivos con la extensión del archivo que desea encontrar.

Por ejemplo, si desea ver todos los .txtarchivos en su escritorio, puede escribir de forma simple cd ~/Desktopy el siguiente tipo ls *.txtque le dará el resultado de

lists.txt
output.txt
output2.txt
Suit Boy Apps
fuente
3
Enumera los archivos cuyo sufijo es ".mp3" (es posible tener archivos mp3 sin el sufijo).
Thomas Dickey