두 개의 내용을 변수로 동시에 읽어야 함

두 개의 내용을 변수로 동시에 읽어야 함

두 변수에 대해 동일한 레이블이 있는 아래 파일을 읽어야 합니다.

 cat images_new.txt
/proj-bssf/adp-log/release/eric-data-search-engine-pm-metrics:4.0.0-23
/proj-document-database-pg/data/eric-data-document-database-bra:3.3.0-20
/proj-orchestration-so/eric-eo-api-gateway:1.0.1-41
/proj-am/releases/eric-am-common-wfs-ui:0.0.217-1

"/proj-bssf/adp-log/release/eric-data-search-engine-pm-metrics"를 하나의 변수로 읽고 4.0.0-23을 다른 변수로 태그해야 하는 것과 같습니다.

객체는 단일 스크립트를 사용하여 docker 개인 레지스트리에서 이미지 요약 정보를 검색하는 두 가지입니다.

답변1

노력하다

while IFS=: read f v 
do
   echo "f $f"
   echo "v $v"
done < file

이것은

f /proj-bssf/adp-log/release/eric-data-search-engine-pm-metrics
v 4.0.0-23
f /proj-document-database-pg/data/eric-data-document-database-bra
v 3.3.0-20
f /proj-orchestration-so/eric-eo-api-gateway
v 1.0.1-41
f /proj-am/releases/eric-am-common-wfs-ui
v 0.0.217-1

어디

  • IFS=::구분 기호 로 사용하도록 읽기에 지시

당신은 또한 사용할 수 있습니다

cat file | while IFS=: read f v 
do
   ## more than 50 lines of code
   echo "f $f"
   echo "v $v"
done
  • 고양이의 쓸모없는 사용을 대가로
  • 루프가 길면 읽기가 더 쉬울 수 있습니다.
  • 그러면 나는 반대표를 던지게 될 것입니다.

관련 정보