2012-05-16 5 views
1

У меня есть разделенный запятой плоский файл, содержимое которого ниже.Чтение csv-файла

Name,Empno,Address,Contact,Company 
A,1,”BTM, Bangalore”,1234,”HCL” 
B,2,”Tatanagar”,1243,”WIPRO” 
C,3,”Patna”,1254,”CTS” 
D,4,”Doranda,Ranchi”,1253,”TCS” 

Мне нужно получить только имя и контакт для всех. Если я использую разделитель как «,» контакт для A и D будет ошибкой Bangalore и Ranchi. Как я могу получить первую и четвёртую field.Also Пожалуйста, сообщите, если я могу использовать AWK команду, чтобы получить необходимые данные

EDIT Просто, чтобы добавить это выборочные данные, мои исходные данные будут иметь еще несколько полей, также может быть запятая в любом поле, которое находится внутри кавычек.

ответ

1

Я предполагаю, что контакт всегда последний, но одно поле. Вы можете попробовать это

awk -F, '{if(NR>1)printf("%s,%s\n",$1,$(NF-1));}' ip.txt 
1
$ awk -F, '{print $1, $(NF-1)}' csv.txt 
Name Contact 
A 1234 
B 1243 
C 1254 
D 1253 

 Смежные вопросы

  • Нет связанных вопросов^_^