2013-09-11 18 views
6

Ho un file di testo, voglio solo la prima colonna e l'ultima colonna. Tuttavia, il problema è che sono separati da entrambi gli spazi e le schede in luoghi casuali, rendendo difficile per me di utilizzare cutEstrarre la prima e l'ultima colonna dal file di testo

USER02163 name BAD 
USER5415 ab lsi ei GOOD 
USER15356 sl oe ow BAD 

output desiderato è:

USER02163 BAD 
USER5415 GOOD 
USER15356 BAD 

Qualcuno ha un modo hacky posso ottenere la mia uscita desiderata?

risposta

12

Più semplice utilizzando awk. Il comando è:

awk '{print $1, $NF}' filename 
1

Quando si specifica separatore di campo come lo spazio in awk includerà spazi singoli e multipli. Così si può usare in questo modo,

awk -F " " '{print $1,$NF}' file 

Stessa risposta unxnut. Aggiunto con il separatore di campo che offre una visione chiara.

1

Utilizzare questo comando sed

$ sed -r 's/([^ ]*) (.*) (.*$)/\1 \3/' filename 

L'output è:

USER02163 BAD 
    USER5415 GOOD 
    USER15356 BAD 
Problemi correlati