bash + 첫 번째/두 번째/세 번째 필드를 캡처하는 방법

bash + 첫 번째/두 번째/세 번째 필드를 캡처하는 방법

다음 구문을 사용하면 awk를 통해 첫 번째 필드를 쉽게 캡처할 수 있습니다.

 capture=` echo 1 2 3 | awk '{print $1}' `

다음 구문 등을 사용하여 awk를 통해 sec 필드를 쉽게 캡처할 수 있습니다.

 capture=` echo 1 2 3 | awk '{print $2}' `

하지만 요청된 필드를 캡처하기 위해 echo를 사용하는 것을 선호하지 않습니다.

bash와 동일한 결과는 무엇입니까?

내 목표는 더 간단하게 만드는 것입니다. 에코를 사용할 수 없다면 더 좋습니다.

답변1

쉘이 적절한 도구인지 여부는 잠시 제쳐두고 bash를 사용하여 herestring이라고 부르는 것으로 대체할 수 있습니다.

capture=$( awk ‘{ print $1 }’ <<< “1 2 3” )

추가 정보https://unix.stackexchange.com/a/80372

관련 정보