![awk를 사용하여 캡처한 문자열에서 마지막 문자 제거 [중복]](https://linux55.com/image/93023/awk%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%BA%A1%EC%B2%98%ED%95%9C%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%97%90%EC%84%9C%20%EB%A7%88%EC%A7%80%EB%A7%89%20%EB%AC%B8%EC%9E%90%20%EC%A0%9C%EA%B1%B0%20%5B%EC%A4%91%EB%B3%B5%5D.png)
다음 명령을 사용하여 문자열에서 마지막 문자를 제거해야 합니다.
sudo docker stats --no-stream 39858jf8 | awk '{if (NR!=1) {print $2}}'
주어진 마지막 항목을 5.20%
삭제해야 한다는 것이 밝혀졌습니다 . 같은 명령으로 이 작업을 수행할 수 있습니까?%
5.20
답변1
예, substr()
문자열 분할을 수행할 수 있습니다.
... | awk '{if (NR!=1) {print substr($2, 1, length($2)-1)}}'
length($2)
그러면 두 번째 필드의 길이가 제공되며, 여기서 1을 빼서 마지막 문자를 제거합니다.
예:
$ echo spamegg foobar | awk '{print substr($2, 1, length($2)-1)}'
fooba