使用awk从CSV文件中“删除”不需要的文本

时间:2009-08-05 13:04:22

标签: csv awk

我有一个像这样的CSV文件:

SUPPORT 07/30/2008-10:59:54 Eastern Daylight Time
123     07/03/2009-08:56:42 Eastern Daylight Time
DC321   07/10/2009-20:16:56 Eastern Daylight Time

其中日期是整列。 如何用awk删除字符串的整个“Eastern Daylight Time”部分?

4 个答案:

答案 0 :(得分:11)

根据您对piotrsz答案的评论,您可以删除EDT部分:

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

答案 1 :(得分:7)

我不知道awk,但是sed版本将是

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

答案 2 :(得分:3)

所以你只想要第1和第2列?如果是的话

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

答案 3 :(得分:3)

仅使用shell

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