Fish Shell:
Työskentely CSV:n kanssa
Kuinka:
Fish Shellillä itsellään ei ole sisäänrakennettuja funktioita nimenomaan CSV-manipulointiin suunniteltuna. Voit kuitenkin hyödyntää Unix-työkaluja kuten awk
, sed
ja cut
perustoimintoihin tai käyttää erikoistuneita työkaluja kuten csvkit
monimutkaisempiin tehtäviin.
CSV-tiedoston lukeminen ja ensimmäisen sarakkeen tulostaminen:
Käytetään cut
-komentoa ensimmäisen sarakkeen poimimiseen:
cut -d ',' -f1 data.csv
Näytekirjoitus:
Nimi
Alice
Bob
CSV-rivien suodattaminen sarakkeen arvon perusteella:
Käyttäen awk
:ia löytääkseen rivit, joissa toinen sarake vastaa “42”:
awk -F, '$2 == "42" { print $0 }' data.csv
Näytekirjoitus:
Bob,42,Lontoo
CSV-tiedoston muokkaaminen (esim. sarakkeen lisääminen):
Käyttäen awk
:ia lisätäksesi sarakkeen, jossa on staattinen arvo “UusiSarake”:
awk -F, 'BEGIN {OFS=","} {print $0,"UusiSarake"}' data.csv > muokattu.csv
Näyte muokattu.csv
-tulostuksessa:
Nimi,Ikä,Kaupunki,UusiSarake
Alice,30,New York,UusiSarake
Bob,42,Lontoo,UusiSarake
csvkit
in käyttö monimutkaisempiin toimintoihin:
Varmista ensin, että sinulla on csvkit
asennettuna. Jos ei, asenna se käyttäen pip: pip install csvkit
.
CSV-tiedoston muuntaminen JSON-muotoon:
csvjson data.csv > data.json
Näyte data.json
-tulostuksessa:
[{"Nimi":"Alice","Ikä":"30","Kaupunki":"New York"},{"Nimi":"Bob","Ikä":"42","Kaupunki":"Lontoo"}]
Suodattaminen käyttäen csvkit
in csvgrep
:
csvgrep -c 2 -m 42 data.csv
Tämä komento toistaa suodatustehtävän mutta käyttäen csvkit
:iä, kohdistuen sarakkeeseen 2 arvolla “42”.
Yhteenvetona, vaikka Fish Shell itsessään ei ehkä tarjoa suoraa CSV-manipulointikyvykkyyttä, sen saumaton integraatio Unix-työkalujen kanssa ja työkalujen kuten csvkit
saatavuus tarjoavat tehokkaita vaihtoehtoja työskennellä CSV-tiedostojen kanssa.