파일 내용을 읽고 ksh를 사용하여 분할

파일 내용을 읽고 ksh를 사용하여 분할

우리는 ksh제품을 설치하기 위해 스크립트를 사용합니다.

다른 구성 파일이 있는데 기본 스크립트에서 이 구성 파일을 읽어야 합니다.

구성 파일 내용:

BPWS_Instance_1:Linux:x86_64:YES:/hosting/download:BPWS_Linux_64.jar
paymon_Instance_1:Linux:i686:YES:/hosting/download:paymon_Linux_32.jar

이제 구성 파일을 읽은 후 기본 스크립트에서BPWS_Instance_1(인스턴스 이름입니다)이 실행 중입니다(= 실행 중) Linux 운영 체제 64비트 프로세서(리눅스:x86_64) 그럼 난 받아야 해BPWS_Linux_64.jar이 위치의 파일/호스팅/다운로드.

답변1

데이터로 수행하려는 작업에 따라 두 가지 주요 방법이 있습니다.

ksh에서 데이터를 구문 분석할 수 있습니다. 구분 기호로 read지정된 내장 함수를 사용하여 루프를 사용하여 데이터를 한 줄씩 읽습니다 . :이를 통해 입력을 열로 분할하고 해당 열에 대해 원하는 작업을 수행할 수 있습니다. 내 예제 코드는 지정된 위치에서 현재 디렉터리로 지정된 파일을 복사하고 인스턴스가 실행되는 동안 루프 본문을 원하는 대로 조정합니다.

while IFS=: read instance_name os arch running location filename junk; do
  if [ "$running" = "YES" ]; then
    cp "$location/$filename" .
  fi
done <Configuration

데이터에 대한 일부 텍스트 처리를 수행해야 하는 경우 awk가 선택되는 도구가 될 것입니다. 여기에서는 데이터를 처리하기 위해 추가 작업을 수행해야 하므로 while … read ….

awk -F ':' '
    $4 == "YES" { 
        ENVIRON["location"] = $5;
        ENVIRON["$filename"] = $6;
        system("cp \"$location/$filename\" .");
    }
' <Configuration

관련 정보