Mi sa che i due messaggi allegati andavano qui... Ciao -- --------------------------------------------------------------------- | Marco Nenciarini | Debian/GNU Linux Developer - Plug Member | | mnencia@prato.linux.it | http://www.prato.linux.it/~mnencia | --------------------------------------------------------------------- Key fingerprint = FED9 69C7 9E67 21F5 7D95 5270 6864 730D F095 E5E4
--- Begin Message ---
- To: plug@prato.linux.it
- Subject: Re: consiglio per script su file di testo
- From: Marco Nenciarini <mnencia@prato.linux.it>
- Date: Tue, 15 May 2001 08:05:56 +0200
- Message-id: <20010515080556.A32309@prato.linux.it>
- Mail-followup-to: Marco Nenciarini <mnencia@prato.linux.it>, plug@prato.linux.it
- In-reply-to: <20010514234414.B285@Debian>; from krecker@supereva.it on Mon, May 14, 2001 at 11:44:14PM +0200
- References: <20010514234414.B285@Debian>
On Mon, May 14, 2001 at 11:44:14PM +0200, Matteo wrote: > > Becca: (E' Moltooooo inefficente, ma funge!!) > > #!/bin/bash > cp file-di-input temp.tmp > TEXT=$(cat temp.tmp) > STR=$(echo $TEXT | awk '{print $1 " " $2}') > > while [ $(echo $STR |awk '{print $1}') ]; do > echo $STR >> file-out > grep -v $(echo $STR | awk '{print$1}') temp.tmp | sort -o temp.tmp > grep -v $(echo $STR | awk '{print$2}') temp.tmp | sort -o temp.tmp > TEXT=$(cat temp.tmp) > STR=$(echo $TEXT | awk '{print $1 " " $2}') > done > Non ho visto il messaggio originale, sono io rincoglionito o hai sbagliato lista? Comunque in perl si fa tutto prima e meglio: perl -i.bak -pe 'chomp($_) and s/$/ / if (!$i); $i = !$i' file-da-trattare prendi file-da-trattare e lo trasforma accorpando le righe a 2 a 2 e salva l'originale con estensione .bak Ciao -- --------------------------------------------------------------------- | Marco Nenciarini | Debian/GNU Linux Developer - Plug Member | | mnencia@prato.linux.it | http://www.prato.linux.it/~mnencia | --------------------------------------------------------------------- Key fingerprint = FED9 69C7 9E67 21F5 7D95 5270 6864 730D F095 E5E4Attachment: pgpQosCLIHlNu.pgp
Description: PGP signature
--- End Message ---
--- Begin Message ---
- To: plug@prato.linux.it
- Subject: Re: consiglio per script su file di testo
- From: Matteo <krecker@supereva.it>
- Date: Mon, 14 May 2001 23:44:14 +0200
- Message-id: <20010514234414.B285@Debian>
- Reply-to: Matteo <krecker@supereva.it>
On Mon, 14 May 2001 21:13:55 Sarlak wrote: > Salve a tutti, > non so che comando usare per fare trasformare un file di testo da: > > A1 > A2 > B1 > B2 > C1 > C2 > > a: > > A1 A2 > B1 B2 > C1 C2 > > Penso di dover usare sed o awk, ma come? Li ho usati per ottenere il file di > partenza ma non so come impiegarli per accorpare le righe a due a due. > > Grazie. Becca: (E' Moltooooo inefficente, ma funge!!) #!/bin/bash cp file-di-input temp.tmp TEXT=$(cat temp.tmp) STR=$(echo $TEXT | awk '{print $1 " " $2}') while [ $(echo $STR |awk '{print $1}') ]; do echo $STR >> file-out grep -v $(echo $STR | awk '{print$1}') temp.tmp | sort -o temp.tmp grep -v $(echo $STR | awk '{print$2}') temp.tmp | sort -o temp.tmp TEXT=$(cat temp.tmp) STR=$(echo $TEXT | awk '{print $1 " " $2}') done
--- End Message ---