Fish Shell:
YAML を操作する
どのようにして:
Fish ShellにはYAMLをパーシングするための組み込みサポートはありませんが、yq
(軽量でポータブルなコマンドラインYAMLプロセッサ)といったサードパーティツールを利用することでYAMLデータを扱うことができます。
yqのインストール(まだインストールされていない場合):
sudo apt-get install yq
YAMLファイルから値を読み取る:
次の内容を持つYAMLファイルconfig.yaml
があるとします:
database:
host: localhost
port: 3306
データベースホストを読み取るには、次を使用します:
set host (yq e '.database.host' config.yaml)
echo $host
サンプル出力:
localhost
YAMLファイル内の値を更新する:
port
を5432
に更新するには、次を使用します:
yq e '.database.port = 5432' -i config.yaml
更新を確認する:
yq e '.database.port' config.yaml
サンプル出力:
5432
新しいYAMLファイルを書き込む:
事前定義された内容で新しいnew_config.yaml
を作成するには:
echo "webserver:
host: '127.0.0.1'
port: 8080" | yq e -P - > new_config.yaml
この操作はyq
を使用して、文字列を新しいYAMLファイルに処理し、きれいに印刷(-Pフラグ)します。
複雑な構造をパーシングする: より複雑なYAMLファイルを扱い、ネストされた配列やオブジェクトを取得する必要がある場合、次を実行できます:
echo "servers:
- name: server1
ip: 192.168.1.101
- name: server2
ip: 192.168.1.102" > servers.yaml
yq e '.servers[].name' servers.yaml
サンプル出力:
server1
server2
yq
を使用して、Fish ShellはYAMLドキュメントを通して効率的にナビゲートし、さまざまな自動化や設定タスクのためにそれらを操作することを簡単にします。