Visualizzare inf prese da due file.txt diversi con bash[Ris]

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

Visualizzare inf prese da due file.txt diversi con bash[Ris]

Messaggioda JordanDunk » venerdì 12 maggio 2017, 10:52

Buongiorno a tutti, scrivendo uno script, apparentemente semplice, mi sono imbattuto in vari problemi e ora mi rivolgo a voi per chiedere il vostro aiuto e il vostro parere.
Cerco di spiegarmi il meglio possibile. Allora io ho due file di testo: il primo file denominato Utenti.txt contiene:

Aragon:ilritornodelre:12:1000:il legittimo re:/home/aragon:/bin/bash
Gimmly:777888999:66:800:moria mia:/home/gimmly:/bin/bash
Legolas:odioinani:99:42:biondo arco:/home/legolas:/bin/bash
Frodo:pass111:23:1000:il portatore:/home/frodo:/bin/bash
Gollum:19191919:200:67:il mio tessssoro:/home/Gollum:/bin/bash
Sauron:unanelloperdomarli:10:20:the boss of the montefato:/home/Sauron/:/bin/bash
Aragon 2:aragonpass:13:32:the secret account of Aragon:/home/private/aragonhide/:/bin/hidebash

il secondo file denominato Settore.txt contiene:

Moria Miniere:800
Admin:32
Aragon Team:320
Elfo lungo:42
Stregone:73
l'occhio:20
Compagnia:1000
mangio pesce:67
Urukai:13


Ora nel mio script vorrei che nell'output mi visualizzasse il nome dell'utente insieme al nome del settore a cui appartiene es:

Aragon Compagnia
Gimmly Moria Miniere
Legolas Elfo lungo
Frodo Compagnia
Gollum mangio pesce
Sauron l'occhio
Aragon 2 Admin


io ho gia provato con i comandi:
awk -F: 'FNR==NR {a[$2]=$1; next} { if ($4 in a) {print $1 " " a[$4]}}'Settore.txt Utenti.txt

oppure join -1 4 -2 3 -t , -o 1.1 2.1 Utenti.txt Settore.txt
Ma non funzionano come dovrebbero. Ho pensato che forse sarebbe opportuno fare un ciclo for che mi vada a leggere per ogni Utrente tutti i settori compatibili ogni volta, ma non ho idea se si possa fare o no.
Grazie a tutti in anticipo. Purtroppo sono nuovo nell'ambiente bash.
:ciao: :ciao: :ciao: :ciao: :ciao:
Ultima modifica di JordanDunk il lunedì 15 maggio 2017, 16:45, modificato 1 volta in totale.
JordanDunk
Prode Principiante
 
Messaggi: 43
Iscrizione: aprile 2017
Desktop: Ubuntu
Distribuzione: Ubunto 16.10 | x86_64
Sesso: Maschile

Re: Visualizzare inf prese da due file.txt diversi con bash/

Messaggioda UbuNuovo » venerdì 12 maggio 2017, 12:54

Cos'è che non va? A me pare che funzioni.

Codice: Seleziona tutto
8-) cat Utenti.txt
Aragon:ilritornodelre:12:1000:il legittimo re:/home/aragon:/bin/bash
Gimmly:777888999:66:800:moria mia:/home/gimmly:/bin/bash
Legolas:odioinani:99:42:biondo arco:/home/legolas:/bin/bash
Frodo:pass111:23:1000:il portatore:/home/frodo:/bin/bash
Gollum:19191919:200:67:il mio tessssoro:/home/Gollum:/bin/bash
Sauron:unanelloperdomarli:10:20:the boss of the montefato:/home/Sauron/:/bin/bash
Aragon 2:aragonpass:13:32:the secret account of Aragon:/home/private/aragonhide/:/bin/hidebash

Codice: Seleziona tutto
8-) cat Settore.txt
Moria Miniere:800
Admin:32
Aragon Team:320
Elfo lungo:42
Stregone:73
l'occhio:20
Compagnia:1000
mangio pesce:67
Urukai:13

Codice: Seleziona tutto
8-) awk -F: 'FNR==NR {a[$2]=$1; next} { if ($4 in a) {print $1 " " a[$4]}}' Settore.txt Utenti.txt
Aragon Compagnia
Gimmly Moria Miniere
Legolas Elfo lungo
Frodo Compagnia
Gollum mangio pesce
Sauron l'occhio
Aragon 2 Admin
Nel caso in cui sia il primo a rispondere ad una richiesta di aiuto...chiunque abbia una soluzione migliore o anche solo diversa dalla mia è incoraggiato ad intervenire liberamente senza inviarmi alcun messaggio privato. In programmazione è basilare sapere che si può ottenere il medesimo risultato utilizzando metodi diversi.
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 2799
Iscrizione: dicembre 2009
Desktop: Mate
Distribuzione: Ubuntu 14.04
Sesso: Maschile

Re: Visualizzare inf prese da due file.txt diversi con bash/

Messaggioda JordanDunk » lunedì 15 maggio 2017, 16:45

Scusa errore mio :( sbagliavo ad inserire un parametro

Grazie mille :) :) :)
JordanDunk
Prode Principiante
 
Messaggi: 43
Iscrizione: aprile 2017
Desktop: Ubuntu
Distribuzione: Ubunto 16.10 | x86_64
Sesso: Maschile


Torna a Programmazione

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 2 ospiti