Ok esto es extraño. Estoy usando este código,
ls *.prj
Para enumerar todos los archivos con la extensión .prj en el directorio pero recibo este error,
bash: / bin / ls: lista de argumentos demasiado larga
Eventualmente deseo obtener el recuento de archivos y estaba usando,
ls * .prj | wc -l
Pero incluso este comando está dando el mismo error. ¿Alguna idea de a dónde me estoy yendo mal?
file-format
ls
Sam007
fuente
fuente
Use el
find
comando en su lugarTambién puedes combinar los comandos con find
Espero que esto ayude.
fuente
ls *.prj
, intenta enumerar los archivos con extn .prj, ¿verdad?Analizar la salida de
ls
no es confiable . Probablemente funcionará en su caso, perols
manipula caracteres no imprimibles. Aquí hay una forma totalmente confiable de contar los archivos que coinciden con una determinada extensión. Este fragmento de shell crea una matriz que contiene los nombres de archivo, luego imprime el número de elementos en la matriz.fuente
echo
me está dando el valor 17 pero el valor real es 90419, que se calcula correctamente con los otros dos comandos anteriores${#a}
en zsh calcula la longitud de la matriz, pero en bash da la longitud del primer elemento, y necesita${#a[@]}
obtener el número de elementos.