2009-08-05 2 views

risposta

2

Quindi vuoi solo la 1a e la 2a colonna? Se sì

awk '{print $1"\t"$2}' file.csv 
+0

realtà, la data è tutto in una colonna. il file ha due colonne in totale, quindi ho bisogno di "filtrare" questa seconda colonna. –

+0

Se è un csv, separato da virgole, probabilmente vuoi $ 1 "," $ 2 ma sì. +1. –

+0

Perché il downvote? – piotrsz

9

Basato sul tuo commento in risposta di piotrsz, questo è come si potrebbe rimuovere la parte EDT:

awk '{gsub("Eastern Daylight Time", "");print}' file.csv 
+0

Sembra proprio. Stavo solo chiedendo a DCrawmer di sostituire le sue virgole nei dati per essere sicuro. – Pinochle

6

Non so awk, ma una versione sed sarebbe

sed "s/ Eastern Daylight Time//" file.csv 
+0

Questo segue la mia regola generale di provare prima sed, quindi awk, quindi un linguaggio completo compilato. –

2

utilizzando solo il guscio

while read -r line 
do 
    case "$line" in 
     *Eastern*) 
      echo "${line%%Eastern*}" 
      ;; 
     *) echo "${line}" 
    esac 
done < "file"