Vai al contenuto

Bash

Pubblicato:

Note

Questo file contiene comandi bash utili senza seguire un tema ben preciso.

# Trova tutti i file sopra una certa dimensione (c = byte, k = kilobyte, M = megabyte, G = gigabyte)
find . -size +80c
# Combina più file csv in un unico file csv
awk '(NR == 1) || (FNR > 1)' *.csv > combined.csv
# Controlla quanti file non nascosti ci sono in una cartella
ls . -1 | wc -l
# Comprime tutti i file in una directory
tar -czvf results.tar.gz dir/*
# Trova e comprime tutti i file più piccoli di 8k
find . -type f -size -8k -print0 | xargs -0 tar -czvf small_mps.tar.gz
# Filtra i file con un certo numero di righe
wc -l job/*.out | sed -E -e '/^ +1 /d' -e '/ *total$/d' -e 's/^ +[0-9]+ +//' | xargs -d '\n' tar -czvf complete_smt2.tar.gz
# Trova i file che contengono un certo pattern e li ordina per il tempo impiegato per risolverli
grep -Rnw 'job' -e 'pattern to include' | sed -E -e 's/\.err:1:.*/.out/' | xargs -d '\n' head -q -n 2 | sed 'N;s/\n/ /' | sort -k4 -rn
# Condividi una cartella utilizzando il client Remote Desktop Protocol (RDP) rdesktop
# Un nuovo disco chiamato "share" apparirà sulla macchina remota (Questo PC) con i contenuti della cartella condivisa
rdesktop -u username -p password -d domain -r disk:share=/path/to/share host
# Scarica ricorsivamente tutti i pacchetti (.deb) necessari per un programma specifico
# Utile per installare un programma su un computer senza connessione a Internet
export $PACKAGES="libgmp-dev"
apt-get download \
$(apt-cache depends --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --recurse --no-pre-depends $PACKAGES | grep "^\w")
# Leggi un file csv saltando la prima riga | ordina per la colonna 17 | stampa la prima colonna solo se la colonna 20 è "delta-sat" | rimuovi le righe duplicate
tail -n +2 results.csv | sort -k17 -n -t, | awk -F,  'BEGIN {OFS=","} { if (tolower($20) == "delta-sat")  print $1 }' | awk '!visited[$0]++'