2009-08-05 6 views

Trả lời

2

Vì vậy, bạn chỉ muốn cột 1 và 2? Nếu có

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

trên thực tế, ngày là tất cả trong một cột. tệp có tổng số hai cột, vì vậy tôi cần phải "lọc" ra cột thứ hai này. –

+0

Nếu đó là một csv, phân cách bằng dấu phẩy, bạn có thể muốn $ 1 "," $ 2 nhưng yeah. +1. –

+0

Tại sao lại là downvote? – piotrsz

9

Dựa trên nhận xét của bạn trong câu trả lời piotrsz, đây là cách bạn có thể loại bỏ các phần EDT:

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

Có vẻ như vậy. Tôi chỉ đang ở giữa yêu cầu DCrawmer thay thế dấu phẩy của anh ấy trong dữ liệu để chắc chắn. – Pinochle

6

Tôi không biết awk, nhưng một phiên bản sed sẽ

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

Điều này tuân theo quy tắc chung của tôi về việc thử sed trước, sau đó là awk, sau đó là một ngôn ngữ được biên dịch đầy đủ. –

2

chỉ sử dụng vỏ

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