Utilizo este script para filtrar todas las carpetas con nombres que comienzan con '_'. Probablemente no funcionará con carpetas que tengan espacios, pero podría modificarlo.
#!/bin/sh
A=`ls /j/ | xargs | sed 's/_[a-z0-9]*//g' | awk '{$1=$1;print}'`
W=`echo $A | wc -w | tr -d '[[:space:]]'`
echo $W
En general, la parte que es interesante es esta:
ls some_folder | xargs | sed 's/_[a-z0-9]*//g'
La expresión regular _[a-z0-9]*
contiene el patrón para que coincida con el nombre que debe excluirse.
Esto es si desea listas de carpetas sin la -a
opción (solo nombres). Si desea usar, -a
entonces el más simple es:
ls -la | grep -v skip_folder
¿Dónde skip_folder
está el nombre que desea excluir? Use comillas si la carpeta contiene espacios, por ejemplo:
ls -la | grep -v "skip folder"
ls -ll
. Sé que puedo enviar el resultado de búsqueda a un script de shell que contiene unwhile
, pero creo que sería muy lento.