summaryrefslogtreecommitdiff
path: root/rushs/evalexpr/cut_csv
diff options
context:
space:
mode:
authorMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:08:27 +0200
committerMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:08:27 +0200
commitc9b6b9a5ca082fe7c1b6f58d7713f785a9eb6a5c (patch)
tree3e4f42f93c7ae89a364e4d51fff6e5cec4e55fa9 /rushs/evalexpr/cut_csv
add: graphs et rushs
Diffstat (limited to 'rushs/evalexpr/cut_csv')
-rw-r--r--rushs/evalexpr/cut_csv/test.csv15
-rwxr-xr-xrushs/evalexpr/cut_csv/with_cut.sh23
-rwxr-xr-xrushs/evalexpr/cut_csv/with_sed.sh24
3 files changed, 62 insertions, 0 deletions
diff --git a/rushs/evalexpr/cut_csv/test.csv b/rushs/evalexpr/cut_csv/test.csv
new file mode 100644
index 0000000..d88282b
--- /dev/null
+++ b/rushs/evalexpr/cut_csv/test.csv
@@ -0,0 +1,15 @@
+James;Lebron;LABron;Lakers;
+Davis;Anthony;Unibrow;Pelicans;
+Mitchell;Donovan;Spida;Jazz;
+Harden;James;TheBeard;Rockets;
+Cousins;DeMarcus;Boogie;Wariors;
+Embiid;Joel;TheProcess;76Sixers;
+Bryant;Kobe;BlackMamba;Lakers;
+Jordan;Michael;AirJordan;Bulls;
+Johnson;Earvin;Magic;Lakers;
+Howard;Dwight;Superman;Wizards;
+Westbrook;Russel;MrTripleDouble;Thunder;
+Durant;Kevin;KD;Wariors;
+George;Paul;PG-13;Thunder;
+Leonard;Kawhi;TheKlaw;Raptors;
+Irving;Kyrie;UncleDrew;Celtics;
diff --git a/rushs/evalexpr/cut_csv/with_cut.sh b/rushs/evalexpr/cut_csv/with_cut.sh
new file mode 100755
index 0000000..9618f00
--- /dev/null
+++ b/rushs/evalexpr/cut_csv/with_cut.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+[ $# -ne 2 ] && exit 1
+
+if ! [ -f "$1" ]; then
+ exit 1
+fi
+
+if ! [ "$2" -eq "$2" ] 2> /dev/null; then
+ exit 1
+fi
+
+[ "$2" -lt 0 ] && exit 1
+
+if [ "$2" -gt "$(wc -l < "$1")" ]; then
+ exit 1
+fi
+
+line=$(head --lines="$2" "$1" 2> /dev/null | tail -n 1 | cut -d ';' -f 2-3 || exit 1)
+c1=$(echo "$line" | cut -d ';' -f 1)
+c2=$(echo "$line" | cut -d ';' -f 2)
+
+echo "$c1 is $c2"
diff --git a/rushs/evalexpr/cut_csv/with_sed.sh b/rushs/evalexpr/cut_csv/with_sed.sh
new file mode 100755
index 0000000..fb5e1f8
--- /dev/null
+++ b/rushs/evalexpr/cut_csv/with_sed.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+[ $# -ne 2 ] && exit 1
+
+if ! [ -f "$1" ]; then
+ exit 1
+fi
+
+if ! [ "$2" -eq "$2" ] 2>/dev/null; then
+ exit 1
+fi
+
+[ "$2" -lt 0 ] && exit 1
+
+if [ "$2" -gt $(wc -l < "$1") ]; then
+ exit 1
+fi
+
+i=1
+
+while IFS= read -r line; do
+ [ "$i" -eq "$2" ] && echo "$line" | sed 's/^.*;\(.*\);\(.*\);.*;$/\1 is \2/'
+ i=$(($i + 1))
+done < "$1"