我想用awk/sed格式化我的輸出,但我不明白該怎麼做。我使用下面的命令:如何從輸出中省略特定的逗號?
uptime | awk '{print $1" " $2" " $3$4" " $6" " $10$11$12}'
15:36:17 up 177days, 7 0.39,0.43,0.36
我期望的輸出是
15:36:17 up 177days 7 0.39,0.43,0.36
我想只省略第一個逗號之後,即「177天」之一。
我想用awk/sed格式化我的輸出,但我不明白該怎麼做。我使用下面的命令:如何從輸出中省略特定的逗號?
uptime | awk '{print $1" " $2" " $3$4" " $6" " $10$11$12}'
15:36:17 up 177days, 7 0.39,0.43,0.36
我期望的輸出是
15:36:17 up 177days 7 0.39,0.43,0.36
我想只省略第一個逗號之後,即「177天」之一。
二者必選其一sub
(替換用空字符串中的逗號)或substr
(使所有子串,但在最後一個字符):
uptime | awk '{sub(",","",$4); print $1" " $2" " $3$4" " $6" " $10$11$12}'
uptime | awk '{print $1" " $2" " $3 substr($4,1,length($4)-1) " " $6" " $10$11$12}'
試試你的命令的輸出管道連接到sed
那會匹配任何字母后跟逗號的字母並替換爲該字符:
uptime | awk '{print $1" " $2" " $3$4" " $6" " $10$11$12}' | sed -r 's/(\w),/\1/'
Thanks @jas'uptime | awk'{sub(「,」,「」,$ 4);打印1美元「」2美元「」3美元4美元「」6美元「」10美元11美元12美元「」它的工作完美。然而第二個命令在我的機器上不起作用。 – user1234
嗯,對我來說,它適用於'awk'和'gawk' ---發生了什麼?您是否收到錯誤或意外的輸出? – jas
這是空白輸出,沒有顯示任何內容。 @ jas你說abt'gawk',是第二個命令是gawk? – user1234