일부 데이터를 인쇄하는 스크립트를 실행했습니다. 다음과 같습니다.
pi@pitwo:~/testing $ python3 scripts/test.py
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
데이터 길이를 계산하는 bash 명령 방법을 찾고 있습니다.
계산을 수행하는 스크립트를 작성할 수도 있고, 짧기 때문에 손으로 계산할 수도 있지만, Linux/Unix 베테랑이 이를 어떻게 수행할 수 있는지에 대한 여러분의 의견을 듣고 싶습니다.
답변1
awk를 사용하세요:
awk -F, '{print NF}'
그러면 쉼표를 필드 구분 기호로 사용하고 총 필드 수를 인쇄합니다.
답변2
배열 처럼 보이기 때문에 json
파이프로 연결할 수 있습니다.
jq length
답변3
wc
대신 사용해야 합니다 awk
. 왜 그렇습니까? awk
일반적으로 대규모 프로그램의 경우 항상 특정 상황에 필요한 마력을 최소화하려고 노력하십시오. 계산해야 할 유일한 것이 파이썬과 유사한 목록이라면 [a, b, c]
이것이 wc
최선의 선택입니다. 그러나 보다 복잡한 작업의 경우 awk
.
귀하의 예에서 :
pi@pitwo:~/testing $ python3 scripts/test.py | wc -w
48
여기서는 플래그를 사용하여 원하는 것을 -w
알립니다.wc
단어카운트( man wc
더).