Paste
Use paste
to concat 2 csv files:
$ cat students.csv Name,Grad Year Alice,2024 Bob,2022 Chris,2023 $ cat score.csv Name,GPA Alice,B+ Bob,A Chris,A- # concat 2 csv files $ paste -d "," students.csv score.csv Name,Grad Year,Name,GPA Alice,2024,Alice,B+ Bob,2022,Bob,A Chris,2023,Chris,A-
Cut
Use cut
to get designated columnes:
# Use -f 1,2,4 to get only 1st, 2nd and 4th column $ paste -d "," students.csv score.csv | cut -d , -f 1,2,4 Name,Grad Year,GPA Alice,2024,B+ Bob,2022,A Chris,2023,A-
Sort
Use sort
to sort specified field in CSV file:
$ cat students.csv Alice,85,alice@example.com Bob,92,bob@example.com Chris,60,chris@example.com # now sort by score in descending order # -t: split by # -k: field number after split # -n: compare field as number, not string # -r: in reverse order $ sort -t , -k 2 -nr students.csv Bob,92,bob@example.com Alice,85,alice@example.com Chris,60,chris@example.com
Awk
Use awk
to get fields in CSV file:
$ cat students.csv Alice,85,alice@example.com Bob,92,alice@example.com Chris,60,alice@example.com # use `awk` to split each line and get 2nd field $ cat students.csv | awk -F, '{print $2}' 85 92 60 # pipe with `sort` to get the highest score $ cat students.csv | awk -F, '{print $2}' | sort | tail -1 92
Top comments (0)