ash - 구성 파일을 한 줄씩 구문 분석합니다.

ash - 구성 파일을 한 줄씩 구문 분석합니다.

내 구성 파일은 다음과 같습니다.

ver 3
file test1.conf ~/etc
file test2.conf ~/etc/conf
script tst.sh

내 스크립트가 "file"이라는 접두사가 붙은 모든 줄을 반복하고, 파일 이름과 위치 값을 추출하고, 일부 작업을 수행하길 원합니다. 지금부터 나는 다음을 얻습니다:

files=$(cat file.conf | grep file)

하지만 각 행에서 두 번째와 세 번째 문자열을 추출하기 위해 반복을 수행하는 방법을 잘 모르겠습니다.

답변1

POSIX 쉘에서와 마찬가지로:

while read type name path; do
  if [ "$type" = file ]; then
    echo "$path/$name";
  fi
done < your.conf

read행을 변수로 분할하고, 첫 번째 변수를 테스트하고 file, 다른 요소로 수행하려는 작업을 수행하는 데 사용됩니다 . awk그런 건 필요하지 않습니다 .

관련 정보