Bash 스크립트의 명령 출력에서 ​​두 개의 값을 가져옵니다.

Bash 스크립트의 명령 출력에서 ​​두 개의 값을 가져옵니다.

명령을 실행하고 값 쌍을 계산하는 bash 스크립트가 있는데 그 결과는 아래와 같습니다.

a,b (10.0000000000, 10.0000000000) -> volt (2088133.7088034691, -222653.3238934391)

매개변수가 유효하지 않거나 오류가 발생하면 프로그램은 다른 오류 메시지를 표시합니다.

두 개의 볼트 값을 구문 분석하고 이를 bash 스크립트의 두 변수에 저장하는 안전한 방법이 있습니까?

답변1

출력의 신뢰성과 "다른 오류 메시지"가 나타날 때 발생하는 상황, 즉 처리 방법에 따라 다릅니다.

위의 기본 접근 방식을 사용하면 다음을 사용할 수 있습니다 awk.

awk -F"[)(, ]" '{printf "var1=%s\nvar2=%s\n", $11,$13}'      
var1=2088133.7088034691
var2=-222653.3238934391

"안전한 방법"은 다음에 달려 있습니다.무엇이러한 오류 메시지는 출력에 영향을 미칩니다.

보다 안정적인 접근 방식은 awk내장 NF변수를 사용하여 관련 필드를 계산하는 것입니다.

awk -F"[)(, ]" '{printf "var1=%s\nvar2=%s\n", $(NF-3),$(NF-1)}'

관련 정보