CSV parsing methods in Linux
To get emails from CSV which is exported form your mail box
grep -o -i '[^,]@[^,]' contacts.csv
Cut the required column assuming delimiter to be ","
cut -d, -f2,3 < input.csv
For given index range
grep ${VALUE} input.csv | cut -d, -f${INDEX}
Get first two columns of the cvs file
awk '{print $1"\t"$2}' input.csv
CSV which is of the regex /^(.*),,/ $f is the file here
awk -F,'{ if ($1 != "") prefix=$1; else printf "%s%s\n", prefix,$0 }' $f
CSV of the format field1 , field2 , field3 , field4
we can set the FS to a regexp as FS=’^ *| *, *|
FS=','
for(i=1;i<=NF;i++){ gsub(/^ *| *$/,"",$i); print "Field " i " is " $i; }
For CSV of the format "field1","field2","field3","field4"
we can set the FS to FS=’^”|”,”|”$’ or FS=’”,”|”‘
FS=','
for(i=1;i<=NF;i++){ gsub(/^ *"|" *$/,"",$i); print "Field " i " is " $i; }
For CSV => field1,"field2,with,commas",field3 ,"field4,foo"
$0=$0",";
while($0) {
match($0,/[^,],| *"[^"]" *,/);
sf=f=substr($0,RSTART,RLENGTH); # save
gsub(/^ *"?|"? *,$/,"",f); # remove extra
print "Field" ++c " is " f;
sub(sf,""); # that which is matched
}
This is my personal collection. Most of them suggested by the uber cool g33ks of terminal. Few bits patched by me.Out there are many ways please do comment them here.

Recent blog posts
- watir-webdriver web inspector
- gem list to gemfile
- Packing ruby2.0 on debian.
- Made it into The Guinness Book!
- to_h in ruby 2.0
- Filter elements by pattern jQuery.
- Better HTML password fields for mobile ?
- Grayscale image when user offline
- nth-child CSS pseudo-class Christmas colors
- EventEmitter in nodejs