From 2d2594e95e3e6a52ddb90cb66165ec297243b5d0 Mon Sep 17 00:00:00 2001 From: typebrook Date: Tue, 12 Nov 2019 14:30:20 +0800 Subject: update --- scripts/csv.move_column | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 scripts/csv.move_column (limited to 'scripts/csv.move_column') diff --git a/scripts/csv.move_column b/scripts/csv.move_column new file mode 100755 index 0000000..a62701f --- /dev/null +++ b/scripts/csv.move_column @@ -0,0 +1,18 @@ +#! /bin/bash + +# show each field with index in csv +echo -------------- > /dev/tty +head -1 < $1 | sed 's/,/ /g' | awk '{for (i=1; i<=NF; i++) printf $i "_" i " "; print ""}' > /dev/tty +echo -------------- > /dev/tty +echo > /dev/tty + +# get index of lon/lat column +read -p "Move which column? " origin_col +read -p "To which index? " new_col + +cat $1 | +# move lon and lat to the first and second column +awk -F',' -v OFS="," -v origin_th=$origin_col -v new_th=$new_col '\ + {for (i=1; i<= NF; i++) if (i == new_th) printf $origin_th OFS $i OFS; else if (i == origin_th); else printf $i OFS; print ""}\ + ' |\ +sed 's/,$//g' -- cgit v1.2.3-70-g09d2