Domanda semplice, ne sono sicuro. Ho visto una risposta che mostra come farlo includendo le sottodirectory, ma voglio sapere quanti file (non cartelle) sono solo nella directory corrente. Grazie.
Domanda semplice, ne sono sicuro. Ho visto una risposta che mostra come farlo includendo le sottodirectory, ma voglio sapere quanti file (non cartelle) sono solo nella directory corrente. Grazie.
Risposte:
ls -F |grep -v / | wc -l
ls -F elenca tutti i file e accoda l'indicatore (uno di * / => @ |) alle voci grep -v /mantenere tutte le stringhe che non contengono una barra wc -l contare le righeProva questo oneliner:
find -maxdepth 1 -type f | wc -l
Prova questo
ls -al | grep ^[-] | wc -l
ls -al - elenca tutti i file con un formato di elenco lungogrep ^[-] - cerca una stringa che inizia con "-" che è il simbolo per indicare il file normale quando elenca il file con ls -alwc -l - contare le righe-conl
Voglio solo aggiungere la risposta di Thom perché mi piace giocare con Bash . Eccolo:
echo "Directory $(pwd) has $(ls -F |grep -v / | wc -l) files"
Bellow è un risultato di esempio della mia /datadirectory:
Directory /data has 580569 file(s).
E sotto sono le mie spiegazioni:
echo double-quoted-message stamperà un messaggio desiderabile.$(any-desirable-valid-command)all'interno del messaggio tra virgolette doppie echoverrà stampato il risultato dell'esecuzione del comando correlato.pwd stamperà la directory corrente.ls -Fserve per elencare tutti i file e aggiungere l'indicatore (uno di * / => @ |) alle voci. L'ho copiato dalla risposta di Thom .grep -v /è un comando per la ricerca di testo semplice, il -v /parametro manterrà tutte le stringhe che non contengono barre.wc -l stamperà il conteggio delle righe.So che questa domanda ha 3 anni, non riesco proprio a sostenere l'impulso di aggiungere un'altra risposta.
Per contare il numero totale di file con estensione specifica è possibile digitare:
ls|grep jpg |wc -l