Использование awk для «удаления» нежелательного текста из файла CSV - PullRequest
11 голосов
/ 05 августа 2009

У меня есть 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

где дата - весь столбец. Как я могу удалить всю строку "Eastern Daylight Time" строки с помощью awk?

Ответы [ 4 ]

11 голосов
/ 05 августа 2009

Исходя из вашего комментария в ответе Петра, вы можете удалить часть EDT:

awk '{gsub("Eastern Daylight Time", "");print}' file.csv
7 голосов
/ 05 августа 2009

Я не знаю awk, но версия sed будет

sed "s/ Eastern Daylight Time//" file.csv
3 голосов
/ 28 ноября 2009

используя только оболочку

while read -r line
do
    case "$line" in
        *Eastern* )
            echo "${line%%Eastern*}"
            ;;
        *) echo "${line}"
    esac
done < "file"
3 голосов
/ 05 августа 2009

То есть вы хотите только 1-й и 2-й столбец? Если да

awk '{print $1"\t"$2}' file.csv
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...