This question already has an answer here:

I need to remove the last character from a string in this command:

sudo docker stats --no-stream 39858jf8 | awk '{if (NR!=1) {print $2}}'

The result is 5.20% , I need remove the % at the end, giving 5.20. Is it possibile to do this in the same command?

marked as duplicate by Stéphane Chazelas bash Aug 23 '16 at 11:00

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


Yes, with substr() you can do string slicing:

... | awk '{if (NR!=1) {print substr($2, 1, length($2)-1)}}'

length($2) will get us the length of the second field, deducting 1 from that to strip off the last character.


$ echo spamegg foobar | awk '{print substr($2, 1, length($2)-1)}'

Not the answer you're looking for? Browse other questions tagged or ask your own question.