Fish Shell:
Praca z plikami CSV
Jak to zrobić:
Sam Fish Shell nie ma wbudowanych funkcji specjalnie przeznaczonych do manipulacji plikami CSV. Jednakże można wykorzystać narzędzia Unixowe takie jak awk, sed i cut do podstawowych operacji lub użyć specjalistycznych narzędzi takich jak csvkit do zadań bardziej zaawansowanych.
Odczytywanie pliku CSV i wyświetlanie pierwszej kolumny:
Użycie cut do ekstrakcji pierwszej kolumny:
cut -d ',' -f1 data.csvPrzykładowe wyjście:
Name
Alice
BobFiltrowanie wierszy CSV na podstawie wartości kolumny:
Użycie awk do znalezienia wierszy, gdzie druga kolumna odpowiada “42”:
awk -F, '$2 == "42" { print $0 }' data.csvPrzykładowe wyjście:
Bob,42,LondonModyfikowanie pliku CSV (np. dodanie kolumny):
Użycie awk do dodania kolumny ze stałą wartością “NewColumn”:
awk -F, 'BEGIN {OFS=","} {print $0,"NewColumn"}' data.csv > modified.csvPrzykładowe wyjście w modified.csv:
Name,Age,City,NewColumn
Alice,30,New York,NewColumn
Bob,42,London,NewColumnUżywanie csvkit do bardziej zaawansowanych operacji:
Najpierw upewnij się, że masz zainstalowany csvkit. Jeśli nie, zainstaluj go używając pip: pip install csvkit.
Konwertowanie pliku CSV na JSON:
csvjson data.csv > data.jsonPrzykładowe wyjście data.json:
[{"Name":"Alice","Age":"30","City":"New York"},{"Name":"Bob","Age":"42","City":"London"}]Filtrowanie za pomocą csvgrep z csvkit:
csvgrep -c 2 -m 42 data.csvTo polecenie powtarza zadanie filtrowania, ale używając csvkit, kierując się na kolumnę 2 dla wartości “42”.
Podsumowując, chociaż sam Fish Shell może nie oferować bezpośrednich możliwości manipulacji plikami CSV, jego bezproblemowa integracja z narzędziami Unixowymi i dostępność narzędzi takich jak csvkit zapewniają potężne opcje do pracy z plikami CSV.