awk를 사용하여 캡처한 문자열에서 마지막 문자 제거 [중복]

awk를 사용하여 캡처한 문자열에서 마지막 문자 제거 [중복]

다음 명령을 사용하여 문자열에서 마지막 문자를 제거해야 합니다.

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

관련 정보