내 구성 파일은 다음과 같습니다.
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
그런 건 필요하지 않습니다 .