Cut columns with delimiter


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Cut columns with delimiter
# 1  
Old 06-24-2011
Cut columns with delimiter

HI,

I have a file like below
Code:
"103865","103835","Zming","","Zhu","103965","Sunnyvale","US",
"116228","116227","Morlla","","Kowalski","113228","Paese "(Treviso)""IT"

I want to validate the 7th column which is below.
Code:
"Sunnyvale"
"Paese

In the above 7th column Paese is not ended with double quotes which is a issue. So i need to find these columns. Any help would be appreciated.

Thanks

Last edited by Franklin52; 06-29-2011 at 04:09 AM.. Reason: Please use code tags for code and data samples, thank you
# 2  
Old 06-24-2011
Code:
awk -v FS="," 'NF!=8' filename

will print all rows which don't have the right number of records.
# 3  
Old 06-24-2011
Code:
# awk -F, 'NR==1{print $7;next};{split($7,a," \"");{print a[1]}}' file
"Sunnyvale"
"Paese

regards
ygemici
# 4  
Old 06-24-2011
@ygemici

Hi,

This prints all the records..

Thanks, This was helpful.

Can i also filter this output seeing which ever not completed with "

Krish.
# 5  
Old 06-24-2011
edit: sorry this was wrong.
# 6  
Old 06-25-2011
Quote:
Originally Posted by Krrishv
@ygemici

Hi,

This prints all the records..

Thanks, This was helpful.

Can i also filter this output seeing which ever not completed with "

Krish.
Code:
# cat file
"103865","103835","Zming","","Zhu","103965","Sunnyvale","US",
"116228","116227","Morlla","","Kowalski","113228","Paese,"(Treviso)","IT"

Code:
# awk -F, '{for(i=1;i<NF;i++){if(substr($i,length($i),length($i)) !~ /"/)print $i}}' file
"Paese

regards
ygemici
# 7  
Old 06-28-2011
Output is still not correct

This is how the file looks
Code:
1  Identifier,Username,First_Name,Middle,Last_Name,Employee_ID,City,RS Code,Postal,Email_addr,HomePhone,WorkPhone,Internal,Ethnic_Question,Ethnic_Questio
n,USA_EEO2_Ethnicity_Answer,USA_EEO2_Race_Question,USA_EEO2_Race_Question,USA_EEO2_Race_Answer,Gender_Question,Gender_Question,Gender,SSOID^M
     2  "67042","67042","A","","Jones","67042","Georgetown","US","78628","AJ_Jones@amat.com","+1  512-863-2043","+1  512-272-3247","TRUE","-1","-1","-3","-2",
"-2","-9","-3","-3","-11","67042"^M
     3  "113021","113021","Aan Wooi","","Mu","113021","Tampines","MY","520852","Aan_Wooi_Mu@amat.com","","+65  98374227","TRUE","-1","-1","-1","-2","-2","-4",
"-3","-3","-11","113021"^M
     4  "66872","66872","Aaron","","Hunter","66872","Santa Cruz","US","95060","Aaron_Hunter@amat.com","+1  408-458-0959","+1  408-584-0592","TRUE","-1","-1","
-3","-2","-2","-9","-3","-3","-11","66872"^M
     5  "70277","70277","Aaron","","Maciej","70277","Austin","US","78729","Aaron_Maciej@amat.com","+1  512-635-9991","+1  512-272-3617","TRUE","-1","-1","-3",
"-2","-2","-9","-3","-3","-11","70277"^M
     6  "79145","79145","Aaron","","Wei","79145","Hsin Chu","TW","N/A","Aaron_Wei@amat.com","+886  35323094","+1  886-3-579-3464","TRUE","-1","-1","-1","-2","
-2","-4","-3","-3","-11","79145"^M
     7  "103260","103260","Aaron","","Liu","103260","Lingya District","TW","802","Aaron_Liu@amat.com","+886  88677615344","+1  886-4-22172610","TRUE","-1","-1
","-1","-2","-2","-4","-3","-3","-11","103260"^M
     8  "104267","104267","Aaron","","Himmler","104267","San Jose","US","95136","Aaron_Himmler@amat.com","+1 (703) 8955735","+1  408-584-0249","TRUE","-1","-1
","-3","-2","-2","-9","-3","-3","-11","104267"^M

when i run your command. It gives me output like below. I think it is still not the right one.
Code:
Identifier
Username
First_Name
Middle
Last_Name
Employee_ID
City
RS Code
Postal
Email_addr
HomePhone
WorkPhone
Internal
Ethnic_Question
Ethnic_Question
USA_EEO2_Ethnicity_Answer
USA_EEO2_Race_Question
USA_EEO2_Race_Question
USA_EEO2_Race_Answer
Gender_Question
Gender_Question
Gender
"Taoyuan County
"Bangalore
"335001
"Wujie Township
"Chu Pei
"Chu Tung
"Frankenthal
"Zhubei City
"Taichung County 434


Last edited by Franklin52; 06-29-2011 at 04:09 AM.. Reason: Please use code tags for code and data samples, thank you
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Cut cmd with delimiter as |#|

Hi All- We have a file data as below with delimiter as |#| 10|#|20|#|ABC 13|#|23|#|PBC If I want to cut the 2nd field out of this, below command is not working as multiple pipe is causing an issue , it seems cut -f2 -d"|#|" <file_name> can you please help to provide the correct command... (7 Replies)
Discussion started by: sureshg_sampat
7 Replies

2. Shell Programming and Scripting

cut delimiter and save

i have list of names in a text file and I wanted to delete the commas en every line. for example: inside the text is a list of names in it with commas after each line. I wanted to delete these commas. which command must I execute for this? unix, dale, shawn, aaron, (4 Replies)
Discussion started by: garfish
4 Replies

3. Shell Programming and Scripting

How to cut by delimiter, and delimiter can be anything except numbers?

Hi all, I have a number of strings like below: //mnt/autocor/43°13'(33")W/ and i'm trying to get the numbers in this string, for example 431333 please help thanks ahead (14 Replies)
Discussion started by: sunnydanniel
14 Replies

4. Shell Programming and Scripting

how to cut all string after the last delimiter?

hi all, suppose a string: abc/def/ghi/jkl/mn.txt and i want to get the file name without the path. however, different files have different paths, therefore the number of delimiter is uncertain. thanks so much! (3 Replies)
Discussion started by: sunnydanniel
3 Replies

5. Shell Programming and Scripting

cut -d with more than 1 delimiter?

I need to cut or otherwise get the 4th and 5th position output of for i in `date +%H` ; do vnstat --dumpdb | grep "h;$i" ; done example output is: h;13;1310318701;443;93 I only need ";443;93" from any given run of "for i in `date +%H` ; do vnstat --dumpdb | grep "h;$i" ; done" Thanks... (3 Replies)
Discussion started by: Habitual
3 Replies

6. UNIX for Advanced & Expert Users

use a word as a delimiter with cut

Is there a way to use a word as a delimiter with cut? Or is there a way to use sed or awk with a word as a delimiter? I don't care which program I use for a delimiter I just want to use a word as a delimiter. (2 Replies)
Discussion started by: cokedude
2 Replies

7. UNIX for Dummies Questions & Answers

Problem Using Cut With A Space Delimiter

I am trying to extract 'postmaster' from the following string: PenaltyError:=554 5.7.1 Error, send your mail to postmaster@LOCALDOMAIN using the following command: cat /usr/share/assp/assp.cfg | grep ^PenaltyError:= | cut -d '@' -f1 | cut -f8 but it returns: PenaltyError:=554 5.7.1 Error,... (10 Replies)
Discussion started by: cleanden
10 Replies

8. Shell Programming and Scripting

Cut Number which appear before a delimiter

Hi All, How can i use the cut option to only output the number of rows, which is 2 is this case ? Pls note that the number of digit before the delimiter ":" is always varying. $ grep -n uuu xxx 2:** xxx yyy gg 44 tt uuu 2007 $ (2 Replies)
Discussion started by: Raynon
2 Replies

9. Shell Programming and Scripting

\r as delimiter in cut

I need to use \r as a delimiter in the -d option of the cut comand . Any help ? Thanks in advance . SD (5 Replies)
Discussion started by: shweta_d
5 Replies

10. Shell Programming and Scripting

Dynamic delimiter in cut command

hello.. my prob is as follows: i have to read from a file which may have different formats depending upon the delimiter used in the data of the file.now i need that the user input the delimiter.the input delimiter is stored in a variable and is used on cut command to retrieve necessary... (3 Replies)
Discussion started by: tej.buch
3 Replies
Login or Register to Ask a Question