Fish Shell:
Praca z YAML

Jak to zrobić:

Fish Shell nie ma wbudowanego wsparcia do analizowania plików YAML, ale możesz wykorzystać narzędzia stron trzecich takie jak yq (lekki i przenośny procesor YAML działający z linii komend), aby obsługiwać dane YAML.

Instalacja yq (jeśli nie jest już zainstalowany):

sudo apt-get install yq

Odczytywanie wartości z pliku YAML: Załóżmy, że masz plik YAML config.yaml o następującej zawartości:

database:
  host: localhost
  port: 3306

Aby odczytać host bazy danych, użyłbyś:

set host (yq e '.database.host' config.yaml)
echo $host

Przykładowe wyjście:

localhost

Aktualizacja wartości w pliku YAML: Aby zaktualizować port na 5432, użyj:

yq e '.database.port = 5432' -i config.yaml

Weryfikacja aktualizacji:

yq e '.database.port' config.yaml

Przykładowe wyjście:

5432

Tworzenie nowego pliku YAML: Aby stworzyć nowy new_config.yaml z zdefiniowaną zawartością:

echo "webserver:
  host: '127.0.0.1'
  port: 8080" | yq e -P - > new_config.yaml

To używa yq do przetwarzania i ładnego wydruku (-P flag) ciągu znaków do nowego pliku YAML.

Analiza skomplikowanych struktur: Jeśli masz bardziej skomplikowany plik YAML i potrzebujesz pobrać zagnieżdżone tablice lub obiekty, możesz:

echo "servers:
  - name: server1
    ip: 192.168.1.101
  - name: server2
    ip: 192.168.1.102" > servers.yaml

yq e '.servers[].name' servers.yaml

Przykładowe wyjście:

server1
server2

Używając yq, Fish Shell ułatwia nawigację po dokumentach YAML i manipulowanie nimi dla różnych zadań automatyzacji i konfiguracji.