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.csvEksempel på utdata:
Navn
Alice
BobFiltrere CSV-rader basert på kolonneverdi:
Bruker awk for å finne rader hvor den andre kolonnen matcher “42”:
awk -F, '$2 == "42" { print $0 }' data.csvEksempel på utdata:
Bob,42,LondonModifisere 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.csvEksempel på utdata i modified.csv:
Navn,Alder,By,NewColumn
Alice,30,New York,NewColumn
Bob,42,London,NewColumnBruk 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.jsonEksempel 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.csvDenne 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.