특정 열 번호 1과 열 번호 2가 있는 파일을 반복합니다.

특정 열 번호 1과 열 번호 2가 있는 파일을 반복합니다.

1000개의 행과 2개의 열이 포함된 test.txt 파일이 있습니다.

am-rls-dev am-nexus
am-rls-dev cancel-ppd-nexus
am-rls-dev h2h-autodebet-token-nexus
am-rls-dev h2h-autodebet-transact-nexus
am-rls-dev h2h-onlinepaymentmuf-nexus
am-rls-dev preterm-nexus
am-rls-dev received-trade-ho-nexus
chatboot-api-dev chatbot-api-nexus
chatboot-api-dev chatbot-be-nexus
cis-rls-dev cif-cis-nexus
cis-rls-dev cis-nexus
cis-rls-dev custhandling-cis-nexus
cis-rls-dev rpt-handling-nexus

데이터가 이중 공백으로 구분되고 뒤에 공백이 오는 경우:

am-rls-dev  am nexus
am-rls-dev  cancel ppd nexus
am-rls-dev  h2h autodebet token nexus
am-rls-dev  h2h autodebet transact nexus
am-rls-dev  h2h onlinepaymentmuf nexus

첫 번째 열은 네임스페이스이고 두 번째 열은 빌드 구성이라고 가정해 보겠습니다. 내 질문은 다음과 같은 루프로 어떻게 인쇄할 수 있는지입니다.

echo this namespace is: $namespace and this buildconfig is: $buildconfig
echo this namespace is: $namespace and this buildconfig is: $buildconfig
echo this namespace is: $namespace and this buildconfig is: $buildconfig
echo this namespace is: $namespace and this buildconfig is: $buildconfig
echo this namespace is: $namespace and this buildconfig is: $buildconfig

답변1

사용read내장한 줄을 읽고 (선택적으로) 단어로 나눕니다.

while read -r namespace buildconfig ignored; do
  echo "this namespace is: $namespace and this buildconfig is: $buildconfig"
done <test.txt

행을 병렬로 처리하려면 다음을 사용할 수 있습니다.GNU 병렬.

parallel '
  line={};
  a=($=line); namespace=$a[1] buildconfig=$a[2];
  echo "this namespace is: $namespace and this buildconfig is: $buildconfig"'

관련 정보