Visualizzazione post con etichetta find. Mostra tutti i post
Visualizzazione post con etichetta find. Mostra tutti i post

mercoledì 9 aprile 2014

bash: convertire in minuscolo le estensioni dei file

find . -name '*.*' -exec sh -c '
  a=$(echo {} | sed -r "s/([^.]*)\$/\L\1/");
  [ "$a" != "{}" ] && mv "{}" "$a" ' \;

sabato 5 dicembre 2009

Chmod ricorsivo selettivo: file o directory

Capita di dover sistemare i permessi di un albero di directory, i piu' faciloni vi diranno di lanciare un bel:
chmod -R 777 *

che sistema tutto.
Sarebbe meglio fare un uso piu' attento dei permessi e correggere separatamente quelli delle directory:
find . -type d -exec chmod 755 {} \;

e quelli dei file
find . -type f -exec chmod 644 {} \;

ATTENZIONE!!!
  • La correzione verra' fatta a partira dalla directory da cui lanciate il comando.
  • Aggiustate le permissions (755 e 644 sono solo un esempio) secondo il vostro bisogno.

venerdì 4 settembre 2009

Esempi (utili) di utilizzo del comando find

find / -type f -name *.jpg  -exec cp {} . \;
find . -type f -size +10000 -exec ls -al {} \;
find . -atime +1 -type f -exec mv {} TMP \; # mv files older then 1 day to dir TMP
find . -name "-F" -exec rm {} \; # a script error created a file called -F
find . -exec grep -i "vds admin" {} \;
find . \! -name "*.Z" -exec compress -f {} \;
find . -type f \! -name "*.Z" \! -name ".comment" -print | tee -a /tmp/list
find . -name *.ini
find . -exec chmod 775 {} \;
find . -user xuser1 -exec chown -R user2 {} \;
find . -name ebtcom*
find . -name mkbook
find . -exec grep PW0 {} \;
find . -exec grep -i "pw0" {} \;
find . -atime +6
find . -atime +6 -exec ll | more
find . -atime +6 -exec ll | more \;
find . -atime +6 -exec ll \;
find . -atime +6 -exec ls \;
find . -atime +30 -exec ls \;
find . -atime +30 -exec ls \; | wc -l
find . -name auth*
find . -exec grep -i plotme10 {};
find . -exec grep -i plotme10 {} \;
find . -ls -exec grep 'PLOT_FORMAT 22' {} \;
find . -print -exec grep 'PLOT_FORMAT 22' {} \;
find . -print -exec grep 'PLOT_FORMAT' {} \;
find . -print -exec grep 'PLOT_FORMAT' {} \;
find ./machbook -exec chown 184 {} \;
find . \! -name '*.Z' -exec compress {} \;
find . \! -name "*.Z" -exec compress -f {} \;
find /raid/03c/ecn -xdev -type f -print
find /raid/03c/ecn -xdev -path -type f -print
find / -name .ssh* -print | tee -a ssh-stuff
find . -name "*font*"
find . -name hpmcad*
find . -name *fnt*
find . -name hp_mcad* -print
find . -grep Pld {} \;
find . -exec grep Pld {} \;
find . -exec grep Pld {} \;
find . -exec grep PENWIDTH {} \; | more
find . -name config.pro
find . -name config.pro
find /raid -type d ".local_sd_customize" -print
find /raid -type d -name ".local_sd_customize" -print
find /raid -type d -name ".local_sd_customize" -ok cp /raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} \;
find /raid -type d -name ".local_sd_customize" -exec cp /raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} \;
find . -name xeroxrelease
find . -exec grep xeroxrelease {} \;
find . -name xeroxrelease
find . -name xeroxrelease* -print 2>/dev/null
find . -name "*release*" 2>/dev/null
find / -name "*xerox*" 2>/dev/null
find . -exec grep -i xeroxrelease {} \;
find . -print -exec grep -i xeroxrelease {} \;
find . -print -exec grep -i xeroxrelease {} \; > xeroxrel.lis
find . -exec grep -i xeroxrel {} \;
find . -print -exec grep -i xeroxrel {} \;
find . -print -exec grep -i xeroxrel {} \; | more
find /raid/03c/inwork -xdev -type f -print >> /raid/04d/user_scripts/prt_list.tmp
find . -exec grep '31.53' {} \;
find . -ls -exec grep "31/.53" {} \; > this.lis
find . -print -exec grep "31/.53" {} \; > this.lis
find . -print -exec grep 31.53 {} \; > this.lis
find . -exec grep -i pen {} /;
find . -exec grep -i pen {} \;
find . -print -exec grep -i pen {} \; | more
find . -exec grep -i pen {} \;
find . -atime +6 -exec ll | more \;
find . -atime +6 -exec ll \;
find . -atime +6 -exec ls \;
find . -atime +30 -exec ls \;
find . -atime +30 -exec ls \; | wc -l
find . \! -name '*.Z' -exec compress -f {} \;
find . -name 'cache*' -depth -exec rm {} \;
find . -name 'cache*' -depth -print | tee -a /tmp/cachefiles
find . -name 'cache[0-9][0-9]*' -depth -print | tee -a /tmp/cachefiles
find . -name 'hp_catfile' 'hp_catlock' -depth -print | tee -a /tmp/hp.cats
find . -name 'hp_catfile' -name 'hp_catlock' -depth -print | tee -a /tmp/hp.cats
find . -name 'hp_cat*' -depth -print | tee -a /tmp/hp.cats
find . -name 'hp_cat[fl]*' -depth -print | tee -a /tmp/hp.cats
find /raid -name 'hp_cat[fl]*' -depth -print
find . \! -name '*.Z' -exec compress -f {} \;
find . -name '*' -exec compress -f {} \;
find . -xdev -name "wshp1*" -print
find . -xdev -name "wagoneer*" -print
find . -name "xcmd" -depth -print
find /usr/contrib/src -name "xcmd" -depth -print
find /raid -type d -name ".local_sd_customize" -exec ls {} \;
find /raid -type d -name ".local_sd_customize" \
-exec cp /raid/04d/MCAD-apps/I_Custom/SD_custom/site_sd_customize/user_filer_project_dirs {} \;

mercoledì 2 settembre 2009

Configurazione default ricerche con catfish

Gettato da tempo tracker nel canneto (non e' mai riuscito ad attirare la mia simpatia) ho ripiegato per le mie ricerche (quando non le faccio da terminale a suon di find e locate) su catfish.
Purtroppo viene impostato un default non proprio ideale:
Modalita' di ricerca: find
Directory in cui viene eseguita la ricerca: /usr/share/catfish

Io avrei preferito locate e la mia home o la directory Documenti.
Ho cominciato a ravanare e ho trovato quanto segue. Lanciate il comando:
gconf-editor

e selezionate la voce:
/apps/panel/objects/object_0/launcher_location

Alla voce launcher_location trovate il nome del file utilizzato per lanciare il programma. Sul mio sistema e' impostato a:
/usr/share/applications/catfish.desktop

Andiamo un po' ad editare questo file, ecco come si presenta:
[Desktop Entry]
Version=1.0
Type=Application
Name=Catfish
Comment=File search
Comment[de]=Dateisuche
Comment[es]=Buscador de archivos
Comment[fi]=Etsi tiedostoja
Comment[fr]=Recherche de fichiers
Categories=GTK;Utility;Filesystem;
Exec=catfish
Icon=catfish
Terminal=false
StartupNotify=true

La linea che ci interessa e' quella contenente l'identificativo Exec=
Per poter eseguire le ricerche dalla nostra home utilizzando locate come metodo di ricerca, dobbiamo modificare questa linea nel modo seguente:
Exec=catfish --path=/home/utente --method=locate

martedì 15 aprile 2008

Trixbox: cannot find a valid baseurl for repo:update

Eseguendo il seguente comando:

yum instal php


o qualsiasi altro tentativo di installare nuovo software su un server trixbox (CentOS Linux) mi e' capitato di avere questa (orrenda) risposta:

cannot find a valid baseurl for repo:update


In questo caso controllate l'accesso ai server DNS. Nel mio caso il file /etc/resolv.conf conteneva come server DNS l'indirizzo del mio router che in quel momento non fungeva da DNS: e' bastato sostituirlo con l'indirizzo di un DNS Telecom e tutto e' tornato a posto.