Estoy tratando de enumerar cada .tar.gzarchivo, solo usando el siguiente comando:
ls *.tar.gz -l
... me muestra la siguiente lista:
-rw-rw-r-- 1 osm osm 949 Nov 27 16:17 file1.tar.gz
-rw-rw-r-- 1 osm osm 949 Nov 27 16:17 file2.tar.gz
Sin embargo, solo necesito enumerarlo de esta manera:
file1.tar.gz
file2.tar.gz
y tampoco:
file1.tar.gz file2.tar.gz
¿Cómo se hace esto "correctamente"?

ls -1 *.tar.gz, Pero ¿qué es lo que desea utilizar la lista de ? Si está haciendo algo con esos nombres de archivo, entonceslsno es la forma correcta de hacerlo. Ver ¿Por qué * no * analizar `ls` (y qué hacer en su lugar)?man ls. Asegúrese de que la fuente de la pantalla tenga un buen contraste entre 1 (uno) y l (letra minúscula ell).Respuestas:
La
-1opción (el dígito "uno", no la "L" minúscula) mostrará un archivo por línea sin otra información:fuente
ls -1 *.tar.gzfunciona igual de bien-..hiddenfile,benign.php,evil.bin,--hide=*evil*, sin el--no verásevil.bino--hide=*evil*.-2(o -3, etc.)! ;-)columns!)Si solo necesita los nombres de archivo, puede usar
printf:... el shell expandirá el
*.tar.gzcomodín a los nombres de archivo, luegoprintflos imprimirá, con cada uno seguido de una nueva línea. Este resultado diferiría un poco del delslos nombres de archivo con nuevas líneas incrustadas en ellos:preparar
ls
printf
fuente
ls -b,ls -Q, ls--quoting-style=....printf '%q\n'. (Ambos GNU.)lsse comporta de manera diferente cuando su salida se canaliza. Por ejemplo:Entonces, si desea ver todos sus
*.tar.gzarchivos, uno por línea, puede hacer esto:Pero, ¿y si no quieres canalizar tu salida? Es decir, ¿hay alguna forma de forzar la
lssalida de los nombres de archivo uno a una línea sin canalizar la salida?Sí, con el
-1interruptor. (Eso es un guión con el número 1.) Para que pueda usar estos comandos:fuente
O con
GNU find:Al contrario que
lscon*él, buscará.tar.gzarchivos de forma recursiva:fuente
-printf '%P\n'lugar de solo-print, en qué punto funcionará cualquier compatible con Posixfind.-printse agregará./antes del nombre del archivo.Una forma un poco más indirecta y en bucle :
EDITAR: citas agregadas para manejar nombres de archivos extraños
fuente
touch -- '-e \a.tar.gz'por una razón para citar sus variables y unix.stackexchange.com/q/65803/117549 por razones para usar printf en lugar de echo-e \a.tar.gzarchivo resultanterm -- '-e \a.tar.gz'debería hacer el truco--funciona pararmmuchos otros.rm_etc './-x blah'