/ / tcsh leggendo le colonne di un file di testo in variabili - variabili globali, tcsh, file-read

tcsh leggendo le colonne di un file di testo in variabili - variabili globali, tcsh, file-read

Ho un file di testo in quello che sembra:

Jose Santiago:385-898-8357:385-555-5555:38 Fife Way, Abilene, TX 39673:1/5/58:95600

Tommy Savage:408-724-0140:408-777-0121:1222 Oxbow Court, Sunnyvale, CA 94087:5/19/66:34200

Yukio Takeshida:387-827-1095:387-888-1198:13 Uno Lane, Ashville, NC 23556:7/1/29:57000

Vinh Tranh:438-910-7449:438-999-0000:8235 Maple Street, Wilmington, VM 29085:9/23/63:68900

Sto cercando di scrivere uno script tcsh che leggeràil file di testo e assegnare ciascun campo delimitato da due punti a una variabile, con l'eccezione del nome, che voglio impostare su due variabili separate. Ho provato diverse cose, ma non riesco a farlo funzionare. Mi dispiace, ma sono un novizio. Grazie in anticipo per qualsiasi aiuto.

risposte:

0 per risposta № 1

Supponendo che la variabile name abbia sempre solo due parole separate da uno spazio, è possibile prima sostituire lo spazio con a : e poi usare cut per ottenere il campo in variabili:

sed "s/ /:/" <filename >new_file
set var1 = `cut -f1 -d ":" new_file`
set var2 = `cut -f2 -d ":" new_file`
set var3 = `cut -f3 -d ":" new_file`

ecc. per ogni campo nel tuo file

PS: Se non ti interessa riscrivere il tuo file originale, puoi sostituire in linea:

set -i.bak "s/ /:/" filename