유닛에서 번호를 얻는 방법은 무엇입니까?

유닛에서 번호를 얻는 방법은 무엇입니까?

기본 출력은 units약간 장황해 보입니다.

$ units "2 fortnight" seconds
    * 2419200
    / 4.1335979e-07

내가 그런 일을 할 수 있도록 숫자만 원한다고 가정해 봅시다 sleep $(units "2 fortnight" seconds). units누락된 형식 매개변수 가 있나요 ? 아니면 뭔가에 파이프를 연결하고 숫자를 얻는 간단한 방법이 있습니까? 이것이 최소한 해당 요소를 제거한다는 것을 알 수 있지만 $ units "2 fortnight" seconds | head -n 1여전히 추가 공백과 *.

답변1

그리고 GNU Units version 2.19:

$ units --one-line  --compact '2 fortnight' seconds
2419200

BSD 구현 units은 없지만 --one-line --compactawk를 사용할 수 있습니다.

$ units '2 fortnight' seconds  | awk 'NR == 1 {print $2}'
2419200

답변2

다른 답변에서는 이 문제를 해결하지만 매우 오래된 버전을 사용하는 경우 units다음과 같이 할 수도 있습니다.

$ units "2 fortnight" sec | head -n 1 | grep -E "\d+" --only-matching
2419200

관련 정보