Fish Shell:
Arbeide med CSV

Hvordan:

Fish Shell, i seg selv, har ikke innebygde funksjoner spesifikt designet for manipulering av CSV. Imidlertid kan du utnytte Unix-verktøy som awk, sed, og cut for grunnleggende operasjoner eller bruke spesialiserte verktøy som csvkit for mer avanserte oppgaver.

Lese en CSV-fil og skrive ut den første kolonnen:

Bruker cut for å trekke ut den første kolonnen:

cut -d ',' -f1 data.csv

Eksempel på utdata:

Navn
Alice
Bob

Filtrere CSV-rader basert på kolonneverdi:

Bruker awk for å finne rader hvor den andre kolonnen matcher “42”:

awk -F, '$2 == "42" { print $0 }' data.csv

Eksempel på utdata:

Bob,42,London

Modifisere en CSV-fil (f.eks., legge til en kolonne):

Bruker awk for å legge til en kolonne med en statisk verdi “NewColumn”:

awk -F, 'BEGIN {OFS=","} {print $0,"NewColumn"}' data.csv > modified.csv

Eksempel på utdata i modified.csv:

Navn,Alder,By,NewColumn
Alice,30,New York,NewColumn
Bob,42,London,NewColumn

Bruk av csvkit for mer avanserte operasjoner:

Først, sørg for at du har csvkit installert. Hvis ikke, installer det ved hjelp av pip: pip install csvkit.

Konvertere en CSV-fil til JSON:

csvjson data.csv > data.json

Eksempel på data.json utdata:

[{"Navn":"Alice","Alder":"30","By":"New York"},{"Navn":"Bob","Alder":"42","By":"London"}]

Filtrering med csvkit sitt csvgrep:

csvgrep -c 2 -m 42 data.csv

Denne kommandoen replikerer filtreringsoppgaven, men ved å bruke csvkit, rettet mot kolonne 2 for verdien “42”.

Konklusjonen er at selv om Fish Shell i seg selv kanskje ikke tilbyr direkte CSV-manipuleringsmuligheter, gir dens sømløse integrasjon med Unix-verktøy og tilgjengeligheten av verktøy som csvkit kraftige alternativer for arbeid med CSV-filer.