![]() |
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui. |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| Aggiunta di due file di colonne | chandra321 | Shell scripting e di programmazione | 7 | 05-06-2009 12:11 PM |
| Confronto colonne simili in due file diversi | ragavhere | Shell scripting e di programmazione | 13 | 04-16-2008 08:53 AM |
| Confrontando il comune colonne di una tabella in due file | ragavhere | SUN Solaris | 1 | 04-11-2008 08:41 AM |
| Confrontare due file di colonne | ggopal | Shell scripting e di programmazione | 4 | 02-21-2007 08:06 PM |
| Confrontare due file di colonne | ggopal | UNIX e avanzata per utenti esperti | 1 | 02-17-2007 04:11 AM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
Confrontando i file - aggiungendo / sottraendo / formating colonne
Ho due file:
file1.txt: Totale FS Usato Usato gratuito% / u01 10000 8000 2000 80% / U02 10000 8000 2000 80% / u03 10000 8000 2000 80% / u04 10000 8000 2000 80% / u05 10000 8000 2000 80% / u06 10000 8000 2000 80% / u07 10000 8000 2000 80% / U10 10000 5000 5000 50% file2.txt: FS Adj / u01 1500 / u05 500 / U10 2500 Vorrei confrontare utilizzando la prima colonna in ogni file e creare un output di entrambi che assomiglia al seguente: Totale FS Usato + Adj Free-Adj (Usato + Adj) / Totale --------- --------- --------- --------- -------- / u01 10.000 9.500 500 95% / U02 10.000 8.000 2.000 80% / u03 10.000 8.000 2.000 80% / u04 10.000 8.000 2.000 80% / u05 10.000 8.500 1.500 85% / u06 10.000 8.000 2.000 80% / u07 10.000 7.500 2.500 75% Si prega di notare che tutte le linee da file1.txt sono elencati, e colonna "adj" di file2.txt è aggiunta la colonna "Usato" e sottrarla dalla colonna "gratuito" di file1.txt solo se vi è una corrispondenza. Sono stato in grado di produrre questa relazione solo dopo il caricamento di questi file in un database, ma sono sicuro che posso fare con lo shell scripting con il vostro aiuto. Grazie, Omer |
|
||||
|
Grazie, radoulov, per il suo rapido e elegante script. E 'perfettamente funzionante.
Tutto quello che occorre fare ora è formato il rapporto è quindi ben più leggibile, ma credo di poter cifra che fuori. Apprezzare Omer |
|
|||||
|
Sicuro.
Codice:
NR == FNR Codice:
{
sub(/,/, "")
_[$1] = $2
next
}
Codice:
key -> "/u01" value -> 1500 key -> "/u05" value -> 500 key -> "/u10" value -> 2500 Codice:
FNR == 1 Codice:
{
printf "%4s %5s %8s %8s %14s\n",
"FS", "Total", "Used+Adj", "Free-Adj", "(Used+Adj)/Total"
while (++i < 46) printf "-"
print ""
next
}
Codice:
$1 in _ {
$3 += _[$1]
$4 -= _[$1]
$5 = $3/$2*100
}
- Aggiungere il valore _ [$ 1] della corrispondente chiave $ 1 la terza colonna - Sottrarre il valore _ [$ 1] della corrispondente chiave $ 1 dalla quarta colonna - Calcolare il valore della quinta colonna Codice:
{
printf "%4s %5d %8d %8d %14d%\n",
$1, $2, $3, $4, $5
}
Hope this helps. |
|
||||
|
Simply superb! NO WORDSSSSSSSS sarà sufficiente il vostro modo di
SPIEGARE. GRAZIE DI MAZZI DA FONDO DEL MIO HEART.Let me dire somthing è di capire e di spiegare nella semplicità che è più cumbersome.Once Grazie di nuovo. Cheers Dimitri. |
|
||||
|
Poco fa ho scritto la risposta, ma non dove appers,
Cari Radlouv I pacchi di Grazie a voi per illustrare il codice in maniera molto semplice termine. Alcun modo, ma semplicemente SUPERB. N. parola è sufficiente. Conoscere è qualcosa ma per spiegare in modo semplice wrods richiede grande InSite. Grazie ancora una volta. Cheers Up. |
![]() |
| Segnalibri |
| Tag |
| solaris |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|