저는 쉘 스크립팅을 처음 접했습니다. 제가 실제로 하려는 작업은 다양한 변수가 포함된 YAML 파일이 있고 특정 변수 이름을 다른 위치에 있는 디렉터리 이름과 일치시켜야 한다는 것입니다.
예 YAML:
input_dir: open_dir/
model: '6ZahsvvRead45F'
solution_name: 6ZahsvvRead45Fs44F
이 solution_name
변수를 사용하면 두 개의 디렉터리가 있는 또 다른 폴더가 있고 그 뒤에 변수와 이름이 같은 폴더가 있습니다 6ZahsvvRead45Fs44F
. 6ZahsvvRead45Fs44F
YAML에서 이를 찾고 두 디렉터리 다음에 오는 폴더 이름과 일치시키려면 어떻게 해야 합니까 ? 그걸 사용해야 할까요 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"