私はシェルスクリプトに初めて触れました。私が実際にやろうとしているのは、さまざまな変数を含むYAMLファイルがあり、特定の変数名を別の場所にあるディレクトリ名と一致させる必要があることです。
はいYAML:
input_dir: open_dir/
model: '6ZahsvvRead45F'
solution_name: 6ZahsvvRead45Fs44F
このsolution_name
変数を使用すると、2つのディレクトリを持つ別のフォルダがあり、その後に同じ変数と同じ名前のフォルダがあります6ZahsvvRead45Fs44F
。6ZahsvvRead45Fs44F
YAMLでこれを探して、2つのディレクトリの後に来るフォルダ名を一致させるにはどうすればよいですか?それを使うべきですかgrep
、awk
それとも別のものを使うべきですか?
答え1
grep、awk、または他のものを使用する必要がありますか?
その他 - 次のYAML認識ツールyq
:
#!/usr/bin/env bash
if ! solution_name="$(yq -er .solution_name file.yaml)"
then
printf "Failed to extract solution_name\n" >&2
exit 1
fi
find ../.. -type d -name "$solution_name"