Awk
ho un file di testo fatto così:
vorrei ,dal terminale di ubuntu, utilizzando il comando awk, costruire un file di testo fatto così:
purtroppo non ci riesco, più o meno il codice dovrebbe avere questa forma:
more +20 ricorsione.txt | awk '{print $2}' > ricorsionee.txt
secondo problema:
supponiamo ora di avere un file di testo con la seguente forma:
come faccio, sempre usando il comando awk ad avere un file di testo così:
0.05205479 0.1013999 0.1481763 0.1925178 0.2345512 0.2743964 0.3121676 0.3479726 0.3819137 0.4140881 0.4445876 0.4734995 0.5009063 0.5268866 0.5515144 0.5748602 0.5969908 0.6179693 0.6378559 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
vorrei ,dal terminale di ubuntu, utilizzando il comando awk, costruire un file di testo fatto così:
1 0.05205479 2 0.1013999 3 0.1481763 4 0.1925178 5 0.2345512 6 0.2743964 7 0.3121676 8 0.3479726 9 0.3819137 10 0.4140881 11 0.4445876 12 0.4734995 13 0.5009063 14 0.5268866 15 0.5515144 16 0.5748602 17 0.5969908 18 0.617969 19 0.6378559
purtroppo non ci riesco, più o meno il codice dovrebbe avere questa forma:
more +20 ricorsione.txt | awk '{print $2}' > ricorsionee.txt
secondo problema:
supponiamo ora di avere un file di testo con la seguente forma:
[1] 1 [1] 0.05205479 [1] 2 [1] 0.1013999 [1] 3 [1] 0.1481763 [1] 4 [1] 0.1925178 [1] 5 [1] 0.2345512 [1] 6 [1] 0.2743964 [1] 7 [1] 0.3121676 [1] 8 [1] 0.3479726 [1] 9 [1] 0.3819137 [1] 10 [1] 0.4140881 [1] 11 [1] 0.4445876 [1] 12 [1] 0.4734995 [1] 13 [1] 0.5009063 [1] 14 [1] 0.5268866 [1] 15 [1] 0.5515144 [1] 16 [1] 0.5748602 [1] 17 [1] 0.5969908 [1] 18 [1] 0.6179693 [1] 19 [1] 0.6378559 [1] 19
come faccio, sempre usando il comando awk ad avere un file di testo così:
1 0.05205479 2 0.1013999 3 0.1481763 4 0.1925178 5 0.2345512 6 0.2743964 7 0.3121676 8 0.3479726 9 0.3819137 10 0.4140881 11 0.4445876 12 0.4734995 13 0.5009063 14 0.5268866 15 0.5515144 16 0.5748602 17 0.5969908 18 0.617969 19 0.6378559
Risposte
Perché non usi qualcosa come la seguente?
Nota che non sono un esperto di awk, ma mi sembra che tu voglia semplicemente stampare il numero di riga e la riga stessa.
awk '{ print NR, "\t", $0 }'
Nota che non sono un esperto di awk, ma mi sembra che tu voglia semplicemente stampare il numero di riga e la riga stessa.





mi potresti dire che cosa fanno i singoli comandi che hai scritto? per esempio cosa vuol dire NR, "\t", $0
Nel secondo caso che ho proposto come posso fare?
sai dove posso reperire delle informazioni su awk?
grazie mille ancora!
"baldo89":
sai dove posso reperire delle informazioni su awk?
'man awk'
http://www.gnu.org/software/gawk/manual/gawk.html
"baldo89":
Nel secondo caso che ho proposto come posso fare?
È semplice: devi stampare il secondo campo (\$2) di ogni riga e se il numero di "righe" (o meglio Record) (NR) lette da awk è un numero pari stampi un a capo, altrimenti uno spazio bianco (se è importante la formattazione).