2023-02-04 16:03:52 +01:00
|
|
|
# Script Bash
|
|
|
|
|
|
|
|
Qui un elenco di semplici funzioni o script in Bash.
|
|
|
|
|
|
|
|
## Rinominare immagini
|
|
|
|
|
|
|
|
Ecco come rinominare una lunga serie di file in maniera progressiva, nel formato `imgXXX`:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
j=1 ; for i in * ; do mv "$i" ${i//*./img$(printf "%03d\n" $j).} ; let j=j+1 ; done
|
|
|
|
```
|
|
|
|
|
|
|
|
Per ogni parametro, questo viene rinominato nel formato `imgXXX`, mantenendo inalterata l'estensione del file.
|
|
|
|
|
|
|
|
In pratica questo comando permette di rinominare tutti i file di una directory in un formato specifico "img001, img002, img003, ecc."
|
|
|
|
|
|
|
|
## Creare un utente da terminale
|
|
|
|
|
|
|
|
```bash
|
|
|
|
sudo useradd -m -u 6667 -G sudo,lp,lpadmin $user
|
|
|
|
```
|
|
|
|
Dove l'opzione:
|
|
|
|
|
|
|
|
- m: crea anche la home directory associata all'utente;
|
|
|
|
- u: permette di specificare l'UID dell'utente;
|
|
|
|
- G: gruppi ulteriori a cui viene aggiunto l'utente
|
|
|
|
|
|
|
|
Ricordarsi di impostare una password per il nuovo utente, altrimenti non potrà loggarsi nel sistema:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
passwd $user
|
|
|
|
```
|
2023-02-10 21:37:23 +01:00
|
|
|
|
|
|
|
## Crontab
|
|
|
|
|
|
|
|
```bash
|
|
|
|
#.---------------- [m]inute: minuto (0 - 59)
|
|
|
|
#| .------------- [h]our: ora (0 - 23)
|
|
|
|
#| | .---------- [d]ay [o]f [m]onth: giorno del mese (1 - 31)
|
|
|
|
#| | | .------- [mon]th: mese (1 - 12) OPPURE jan,feb,mar,apr...
|
|
|
|
#| | | | .---- [d]ay [o]f [w]eek: giorno della settimana (0 - 7) (la domenica vale 0 o 7) OPPURE sun,mon,tue,wed,thu,fri,sat
|
|
|
|
#| | | | |
|
|
|
|
#
|
|
|
|
#* * * * * comando da eseguire
|
|
|
|
|
|
|
|
0 21,22 * * * pg_dump cinema > ~/Databases/filmdb.sql
|
|
|
|
0 9,15,20 * * * nice -n 19 clamscan -ir /$HOME --log=clamavlog.txt --move=/$HOME/quarantine/ 2>&1
|
|
|
|
0 9,15,20,22 * * * /usr/bin/rsync -az --delete --exclude=Nextcloud ~/ /media/davide/Backup/Desktop/ && date >> ~/backup.log
|
|
|
|
```
|
|
|
|
|
|
|
|
## SQL to Markdown
|
|
|
|
|
|
|
|
```bash
|
|
|
|
awk -F "\t" '{print $1"\t"$2"\t"$4"\t"$3}' file.sql | sort --field-separator='|' -s -k 4 >> file.md
|
|
|
|
```
|