Supponiamo di avere un file di testo di nome “file.csv” e di voler contare per ogni riga il numero di volte che si presenta un carattere, ad esempio il carattere “,”. Supponiamo che il risultato sia l’output dello stesso file “file.csv” preceduto in ogni riga dal conteggio stesso. Basta semplicemente la seguente singola riga perl: Continua a leggere
Supponiamo di voler rinominare il nome di un gruppo di file che hanno il seguente template: file1_tmp.sh file2_tmp.sh … file99_tmp.sh e supponiamo di voler togliere la parte centrale ‘_tmp’ in tutti i file. Possiamo utilizzare il comando “rename” o “prename”: rename ‘s/_tmp//’ *.sh Vedi tutte le FAQs
Supponiamo di voler stampare solamente una singola linea di un file, che per comodità indichiamo con la linea 25 perl -ne ‘$. == 25 && print && exit’ file.txt Naturalmente se vogliamo stampare anche le righe 31 e 57 perl -ne ‘($. == 25 || $. == 31 || $. == 57) && print’ file.txt Continua a leggere
Supponiamo aver una stringa “Prova encode” ed un file “prova.txt” da voler encodare in Mime base64. Per risolvere il problema possiamo semplicemente lanciare la riga di comando: perl -MMIME::Base64 -e ‘print encode_base64(“Prova encode”)’ perl -MMIME::Base64 -0777 -ne ‘print encode_base64($_)’ prova.txt Per l’operazione inversa basta fare: perl -MMIME::Base64 -le ‘print decode_base64(“stringa in base64”)’ perl -MMIME::Base64 -ne Continua a leggere
Supponiamo di avere un file di testo (prova.txt) che vogliamo numerare. Possiamo utilizzare: perl -pe ‘$_ = “$. $_”‘ prova.txt Se si vuole simulare l’output di cat -n prova.txt basta usare: perl -ne ‘printf “% 5d %s”, $., $_’ prova.tx Per togliere la numerazione possiamo utilizzare: perl -pe ‘s/^\s*\d+\s*//’ prova.txt Vedi tutte le FAQs
$str =~ s/(\d+)/$1+1/ge Vedi tutte le FAQs
Supponiamo di avere un file di nome “file-con-chiavi-gpg” e di volerle estrarre eliminando ogni altra riga presente nel file. perl -ne ‘print if /—–BEGIN PGP PUBLIC KEY BLOCK—–/../—–END PGP PUBLIC KEY BLOCK—–/’ file-con-chiavi-gpg Naturalmente estrapolando la logica potremmo voler stampare tutte le righe comprese tra due regexp perl -ne ‘print if /regex1/../regex2/’ file.txt Vedi tutte Continua a leggere