Newsgroup: it.comp.os.linux.iniziare
Titolo: AWK

Il problema č questo:
ho un file di piů righe e colonne, es:
PIPPO     PLUTO       PAPERINO
MINNI    PAPERA     TOPOLINO
io dovrei eliminare le prime due colonne per cui il risultato dovrebbe
essere:
PAPERINO
TOPOLINO
mi hanno detto di utilizzare AWK, ma non ho idea di come fare.
Qualcuno mi sa dare una soluzione ???
Grazie a tutti
Ciao

 Qualcuno mi sa dare una soluzione ???
$ awk '{ print $3 }' tuofile > risultato
Se ti serve di piu' leggi 'info gawk'.
-- 
Stefano - Hodie decimo septimo Kalendas Iulias MMI est

 Se ti serve di piu' leggi 'info gawk'.
Se vuoi c'è anche la pagina man in italiano su ILDP (me la sono studiata
giusto stamattina)
Già che ci sono faccio una domanda (forse non ho studiato tanto bene:-).
E' possibile in uno script mettere al posto del parametro ORS una variabile?
Se metto ORS=$2 non succede niente (e tra l'altro non mi stupisce visto
che ci si trova tra gli apici del comando awk)
In alternativa, esiste un modo per aggiungere una stringa in fondo ad
ogni riga di un file? (immagino sed ma non so come)
Grazie,
Angelo
-- 
.ooo0
(   )	Angelo aka Ak@l
 \ (	a_c_8_0 (at) b_i_g_f_o_o_t (dot) c_o_m
  \_)	ICQ #6_3_8_3_6_1_1_9
NB: per scrivermi togli tutti i "_" dall'indirizzo

ogni riga di un file? (immagino sed ma non so come)
cat file | sed s/$/stringa/g | sed s/^stringa//g
ovviamente se vuoi riscrivere lo stesso file fai:
cat file | sed s/$/stringa/g | sed s/^stringa//g > file
-- 
CIAO
           *** abrate ***   
 :(){ :|:;};:the linux emoticons;)
 

 cat file | sed s/$/stringa/g | sed s/^stringa//g
non basta la prima parte? La seconda non serve a cancellare "stringa"
da inizio riga?
ciao,


da inizio riga?
Cosi` pare anche a me. L'intento pero` potrebbe essere quello di
risvuotare le righe vuote che sono state sostituite con
"stringa". Il problema cioe` e` stato interpretato come: aggiungi
"stringa" in fondo a tutte le righe non vuote.
Non conosco abbastanza sed da scrivere cosi` a memoria una regola
di sostituzione equivalente che non richieda due passaggi. In
perl, una cosa del genere funzionerebbe:
 
           s/(.)$/$1stringa/;
potrebbe pero`, nonostante tutto, essere meno efficiente di
quella proposta. La quale peraltro e` sbagliata, nel caso sia
possibile che alcune righe del file originale comincino con
"stringa". Immagino che questa potrebbe funzionare meglio:
      cat file | sed s/$/stringa/ | sed s/^stringa$//
Il /g secondo me non serve, ma attendo con fiducia smentite al
riguardo.
Ciao.

riguardo.
Nessuna smentita, non serve. Il g serve solo se si vuole che tutte le
occorrenze della stringa cercata vengano sostituite, ma se si mette un $
per indicare la fine della riga non ci puo' essere piu' di un'occorrenza.
Andrea Polci

per indicare la fine della riga non ci puo' essere piu' di un'occorrenza.
Questa era per l'appunto la mia impressione.
Ciao.

In data Wed, 20 Jun 2001 13:52:44 GMT, Andrea Polci scrive:
Grazie a tutti,
già che ci sono faccio un'altra domandina:
Per sostituire uno spazio tra due maiuscole con un "_", se faccio
sed 's/[A-Z] [A-Z]/_/g' $1
DE PAPERONI mi diventa D_APERONI;
con 
sed 's/[A-Z] [A-Z]/[A-Z]_[A-Z]/g' $1
ottengo
D[A-Z]_[A-Z]APERONI;
con
sed 's/[A-Z] [A-Z]/&_/g' $1
diventa DE P_APERONI;
con
sed 's/[A-Z] [A-Z]/&_&/g' $1
diventa
DE P_E PAPERONI;
L'unica soluzione che ho trovato è stata:
sed 's/[A-Z] /&_/g' $1 | \
sed 's/ _/_/g' | \
sed 's/_ / /g'
esiste il modo di far rientrare tuttp in una sola istruzione?


esiste il modo di far rientrare tuttp in una sola istruzione?
sed 's/\([A-Z]\) \([A-Z]\)/\1_\2/g' $1
\( e \) servono nell'espressione da ricercare per delimitare una parte di
testo che va copiata in un buffer (numerato con 1, 2, ... progressivamente).
\n dove n e' una cifra serve per inserire nel testo sostituito il contenuto
del buffer n.
Andrea Polci

cat prova.txt | sed -e "s/\(.\)$/\1stringa/"
Puoi dirmi se e` lo stesso dare:
sed "s/\(.\)$/\1stringa/" prova.txt
(anche senza il -e, oltre che non passare per cat)
-- 
Ci sentiamo  |  Remigio Zedda  || Attenzione! campo "From:" alterato
ciao Remigio |                 ||==> E-mail: 
remi...@tiscalinet.it
-------------|      ..si` d'accordo.. ma con la Deb e` un'altra cosa!
/* Linux 2.2.17 su Debian GNU/Linux 2.2 Potato */

 del buffer n.
grazie 1k,
