una subdirectorios solo que por listar letra empiecen ejemplos directorios comandos comando basicos archivos bash ls

bash - solo - listar directorios y subdirectorios linux



Usando ls, ¿cómo listar archivos sin imprimir la extensión(la parte después del punto)? (3)

usando sed?

ls -1 | sed -e ''s//..*$//''

Supongamos que tengo un directorio con algunos archivos:

$ ls a.c b.c e.c k.cpp s.java

¿Cómo puedo mostrar el resultado sin la extensión del archivo (la parte que sigue al punto, incluido ese punto)? Me gusta esto:

$ <some command> a b e k s


ls -a | cut -d "." -f 1

hombre (1) corte

Muy útil, el modificador -d define el delimitador y el campo -f que desea.

EDITAR: Incluir riverfall''s escenario riverfall''s también es pan comido, ya que el corte puede comenzar también desde el final, aunque la lógica es algo diferente. Aquí un ejemplo con un montón de archivos con nombres aleatorios, algunos con dos puntos, algunos con un solo punto y otros sin extensión:

runlevel0@ubuntu:~/test$ ls test.001.rpx test.003.rpx test.005.rpx test.007.rpx test.009.rpx testxxx test.002.rpx test.004.rpx test.006.rpx test.008.rpx test_nonum test_xxx.rtv runlevel0@ubuntu:~/test$ ls | cut -d "." -f -2 test.001 test.002 test.003 test.004 test.005 test.006 test.007 test.008 test.009 test_nonum testxxx test_xxx.rtv

El uso del signo menos antes del número de campo hace que elimine TODOS los campos indicados (1,2 en este caso) y si lo pone detrás, comienza a contar desde el final.

Esta misma notación se puede utilizar para el desplazamiento y los caracteres, además de los campos (consulte la página del manual)


ls | while read fname do echo ${fname%%.*} done

Trata eso.