[Risolto] listare tutti e soli i file nascosti
-
- Prode Principiante
- Messaggi: 97
- Iscrizione: lunedì 19 settembre 2016, 12:26
- Desktop: xubuntu
- Distribuzione: Xubuntu 16.04.1 LTS
[Risolto] listare tutti e soli i file nascosti
Ciao a tutti,
ho bisogno di scrivere un comando, utilizzando la pipeline, che permetta di listare tutti e solo i file nascosti presenti nella mia home directory che iniziano con una lettera maiuscola. Qualcuno sa come fare?
Ps. sono alle primissime armi con linux e la shell
ho bisogno di scrivere un comando, utilizzando la pipeline, che permetta di listare tutti e solo i file nascosti presenti nella mia home directory che iniziano con una lettera maiuscola. Qualcuno sa come fare?
Ps. sono alle primissime armi con linux e la shell
Ultima modifica di G_e_r_o_n_i_m_o il domenica 20 novembre 2016, 9:34, modificato 1 volta in totale.
Re: listare tutti e soli i file nascosti
Codice: Seleziona tutto
find ~ -maxdepth 1 -name '.[A-Z]*'
Codice: Seleziona tutto
find ~ -maxdepth 1 -type f -name '.[A-Z]*'
Re: listare tutti e soli i file nascosti
...oppure, usando una pipe come richiedevi (sembra che tu debba fare un compito, in tal caso studia che è meglio!):
Tale comando mostra sia files che directories.
Codice: Seleziona tutto
ls -a ~ | grep "^\.[A-Z]"
-
- Prode Principiante
- Messaggi: 97
- Iscrizione: lunedì 19 settembre 2016, 12:26
- Desktop: xubuntu
- Distribuzione: Xubuntu 16.04.1 LTS
Re: listare tutti e soli i file nascosti
Grazie bingel :-) ... si si sto preparando l'esame di Sistemi Operativi .. ma gli appunti sulla shell da cui ho iniziato a studiare sono scarsi di esempi .... quindi ti ringrazio del tuo aiuto ... ora utilizzo i comandi che mi hai dato per fare un pò di reverse engineering ;-) ... grazie ancora
Re: listare tutti e soli i file nascosti
In tal caso:
e dai un occhio anche alle "espressioni regolari".
Codice: Seleziona tutto
man find
man ls
man grep
-
- Prode Principiante
- Messaggi: 97
- Iscrizione: lunedì 19 settembre 2016, 12:26
- Desktop: xubuntu
- Distribuzione: Xubuntu 16.04.1 LTS
Re: listare tutti e soli i file nascosti
Buongiorno bingel,
allora considerando il comando che fa uso della pipeline
ho capito che
visualizza una lista dei nomi di tutti i file e le directory (compresi quelli nascosti) presenti nella mia home directory. Inoltre, avendo fatto uso della pipeline, il primo comando produce l'input per il secondo. Quindi la lista prodotta sarà l'input per:
Il comando grep invece esegue una ricerca all'interno dei file indicati come argomento o in caso contrario tra quelli nello standard input.
Ora devo vedere un pò di capire l'espressione tra doppi apici della quale ho capito solo che [A-Z] indica che la prima lettere deve essere una tra quelle contenute nell'intervallo indicato, cioè una lettere maiuscola.
appena capisco l'espressione posto la spiegazione e nel caso qualcuno legge robe inesatte mi corregga tranquillamente ;-)
allora considerando il comando che fa uso della pipeline
Codice: Seleziona tutto
ls -a ~ | grep "^\.[A-Z]"
Codice: Seleziona tutto
ls -a ~
Codice: Seleziona tutto
grep "^\.[A-Z]"
Ora devo vedere un pò di capire l'espressione tra doppi apici della quale ho capito solo che [A-Z] indica che la prima lettere deve essere una tra quelle contenute nell'intervallo indicato, cioè una lettere maiuscola.
appena capisco l'espressione posto la spiegazione e nel caso qualcuno legge robe inesatte mi corregga tranquillamente ;-)
Re: listare tutti e soli i file nascosti
Si tranne per il fatto che grep, in questo caso, non legge all'interno dei files che gli vengono passati come argomento tramite la pipe ma filtra il testo stesso che gli viene dato in pasto ovvero i nomi dei vari files.
-
- Prode Principiante
- Messaggi: 97
- Iscrizione: lunedì 19 settembre 2016, 12:26
- Desktop: xubuntu
- Distribuzione: Xubuntu 16.04.1 LTS
Re: listare tutti e soli i file nascosti
forse ci sono .... allora il carattere ^ all'interno di una espressione regolare indica inizio riga ... il carattere \ è il carattere di escape per un carattere speciale che permette al carattere seguente di essere interpretato letteralmente e non funzionalmente. Quindi l'espressione "^\.[A-Z]" indica alla grep di cercare le stringhe che iniziano con un punto seguito da una qualsiasi lettera maiuscola.
Corretto?
Corretto?
Re: listare tutti e soli i file nascosti
Promosso!
-
- Prode Principiante
- Messaggi: 97
- Iscrizione: lunedì 19 settembre 2016, 12:26
- Desktop: xubuntu
- Distribuzione: Xubuntu 16.04.1 LTS
Re: listare tutti e soli i file nascosti
grazie ancora bingel per la disponibilità :-) ... ora analizzo per bene gli altri due comandi che mi hai consigliato ...li posto ... e poi metto risolto ;-) ... e se alla fine prenderò 30 all'esame ti offro un caffè :-P
-
- Prode Principiante
- Messaggi: 97
- Iscrizione: lunedì 19 settembre 2016, 12:26
- Desktop: xubuntu
- Distribuzione: Xubuntu 16.04.1 LTS
Re: listare tutti e soli i file nascosti
Ora consideriamo il comando che cerca i soli file e directory nascosti nella home directoy (che non fa uso della pipeline):
-Il comando find esegue una ricerca all'interno dei percorsi indicati per i file che soddisfano l'espressione di ricerca.
-il simbolo tilde ~ indica che il percorso di ricerca in questo caso è la home directory.
-L'opzione -maxdepth levels, dove levels dve essere un intero nonnegativo, indica il numero massimo di livelli di directory in cui cercare. In questo caso l'opzione -maxdepth 1 dice che bisogna cercare al massimo nella directory specificata senza scendere in alcuna subdirectory.
-La direttiva -name <modello> indica che la ricerca trova un elemento utile quando incontra un nome di file o directory corrispondente al <modello>. In questo caso il modello è '.[A-Z]*'. Racchiudendo una serie di caratteri fra apici singoli ' ' si evita che questi vengano interpretati come caratteri speciali, .[A-Z] indica che il nome deve iniziare con un punto seguito da una qualsiasi lettera maiuscola, e il quantificatore * indica che devono essere ricercate 0 o più occorrenze.
Si accettano consigli e correzioni :-)...
Codice: Seleziona tutto
find ~ -maxdepth 1 -name '.[A-Z]*'
-il simbolo tilde ~ indica che il percorso di ricerca in questo caso è la home directory.
-L'opzione -maxdepth levels, dove levels dve essere un intero nonnegativo, indica il numero massimo di livelli di directory in cui cercare. In questo caso l'opzione -maxdepth 1 dice che bisogna cercare al massimo nella directory specificata senza scendere in alcuna subdirectory.
-La direttiva -name <modello> indica che la ricerca trova un elemento utile quando incontra un nome di file o directory corrispondente al <modello>. In questo caso il modello è '.[A-Z]*'. Racchiudendo una serie di caratteri fra apici singoli ' ' si evita che questi vengano interpretati come caratteri speciali, .[A-Z] indica che il nome deve iniziare con un punto seguito da una qualsiasi lettera maiuscola, e il quantificatore * indica che devono essere ricercate 0 o più occorrenze.
Si accettano consigli e correzioni :-)...
Re: listare tutti e soli i file nascosti
Tutto corretto tranne per il fatto che l'asterisco in questo caso è usato come wild card.
-
- Prode Principiante
- Messaggi: 97
- Iscrizione: lunedì 19 settembre 2016, 12:26
- Desktop: xubuntu
- Distribuzione: Xubuntu 16.04.1 LTS
Re: listare tutti e soli i file nascosti
bingel possibile che quando si trova tra backtick l'asterisco non venga interpretato come wildcard ma come quantificatore?
- UbuNuovo
- Imperturbabile Insigne
- Messaggi: 4446
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: listare tutti e soli i file nascosti
No, è perché find normalmente usa il globbing e non le regex.
Per usare le regex in find ci sono le apposite opzioni.
Per usare le regex in find ci sono le apposite opzioni.
-regex pattern
File name matches regular expression pattern. This is a match on the whole path, not a search. For example, to match a file named `./fubar3', you
can use the regular expression `.*bar.' or `.*b.*3', but not `f.*r3'. The regular expressions understood by find are by default Emacs Regular
Expressions, but this can be changed with the -regextype option.
-iregex come -regex ma case insensitive
-regextype type
Changes the regular expression syntax understood by -regex and -iregex tests which occur later on the command line. Currently-implemented types are
emacs (this is the default), posix-awk, posix-basic, posix-egrep and posix-extended.
Salva l'Ucraina!
-
- Prode Principiante
- Messaggi: 97
- Iscrizione: lunedì 19 settembre 2016, 12:26
- Desktop: xubuntu
- Distribuzione: Xubuntu 16.04.1 LTS
Re: listare tutti e soli i file nascosti
ecco ... non è che sia proprio chiaro chiaro
-
- Prode Principiante
- Messaggi: 97
- Iscrizione: lunedì 19 settembre 2016, 12:26
- Desktop: xubuntu
- Distribuzione: Xubuntu 16.04.1 LTS
Re: listare tutti e soli i file nascosti
quindi in questo caso siamo in presenza di un glob pattern nel quale l'asterisco è un metacarattere che rappresenta una sequenza di zero o più caratteri qualsiasi?
- UbuNuovo
- Imperturbabile Insigne
- Messaggi: 4446
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: listare tutti e soli i file nascosti
Si, in pratica "*" (globbing) equivale a ".*" nelle regex.
Salva l'Ucraina!
-
- Prode Principiante
- Messaggi: 97
- Iscrizione: lunedì 19 settembre 2016, 12:26
- Desktop: xubuntu
- Distribuzione: Xubuntu 16.04.1 LTS
Re: listare tutti e soli i file nascosti
ok perfetto ;-)
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 14 ospiti