2013-09-11 14 views
6

Mam plik tekstowy, chcę tylko pierwszą kolumnę i ostatnią kolumnę. Jednak problemem jest to, że są oddzielone zarówno spacji i zakładkami w przypadkowych miejscach, co sprawia, że ​​trudno mi korzystać cutWyodrębnij pierwszą i ostatnią kolumnę z pliku tekstowego

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

Pożądany wynik jest:

USER02163 BAD 
USER5415 GOOD 
USER15356 BAD 

Czy ktoś ma hacky sposób mogę uzyskać pożądany wynik?

Odpowiedz

12

Najprościej, używając awk. Polecenie to:

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

Po określeniu separator pól jako przestrzeni w awk będzie zawierać pojedyncze i wielokrotne spacje. Dzięki czemu można używać tak,

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

samo jak unxnut odpowiedź. Dodano z separatorem pól, który zapewnia przejrzysty wgląd.

1

Służy SED polecenie

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

wyjście jest:

USER02163 BAD 
    USER5415 GOOD 
    USER15356 BAD 
Powiązane problemy