Ho un file che contiene le informazioni in due colonne:pipe file riga per riga in più variabili di lettura
box1 a1
box2 a2
sto cercando di leggere questo file riga per riga in lettura e hanno ciascuno degli elementi pubblicitari essere messo in una variabile
al primo passaggio, $a
conterrebbe box1
e $b
conterrebbe a1
.
Al secondo passaggio, $a
conterrebbe box2
e $b
conterrebbe a2
, ecc
Un esempio del codice che sto usando per cercare di raggiungere è questo:
for i in text.txt; do
while read line; do
echo $line | read a b;
done < text.txt;
echo $a $b;
done
Questo dà me i seguenti risultati:
box1 a1 box2 a2
Quando mi aspettavo i seguenti risultati:
box1 a1
box2 a1
Come posso risolvere questo problema?
Bingo! Ha funzionato come un fascino .. Grazie per la spiegazione, ha chiarito le cose per me. (@chepner e @Dave Jarvis .. Grazie!) – mlebel
Se puoi avere '' 'nel tuo input, non dimenticare di usare l'argomento' -r' per leggere. – jfg956
@jfgagne, ho ricercato -r e ho trovato quanto segue nei documenti di Oracle - "Per impostazione predefinita, a meno che non venga specificata l'opzione -r, il backslash (\\) funge da carattere di escape." è questo che intendevi? – mlebel