帮酷LOGO
0 0 评论
文章标签:Substr  COM  COMM  subst  BASH  Comma  Substring  


問題:

從給定的命令獲得子字元串 df/dev/sdb1 | tail -n 1 :

/dev/sdb1 1952971772 1441131032 511840740 74%/media/kaiman/ShareData

我想從那個字元串中提取 195297177274%,以便在bash腳本中使用它。

我知道我可以使用一些cut命令或其他東西,但是如果尺寸發生變化它將不再起作用 。

我還想過使用 正規表達式 或什麼東西,但是我希望有最推薦的方法。

提前致謝!


回答 1:


$ df/dev/sdb1 | awk '{ print $5 }' | tail -n 1



對於百分比和


$ df/dev/sdb1 | awk '{ print $2 }' | tail -n 1



尺寸。

沒有tail :


 df/home | awk 'NR==2 { print $2 }'


 df/home | awk 'NR==2 { print $5 }'



  • awk '{ print $2 }'

得到第二列,其中多個分隔符計為1。 因此,對於您的系統,第2列始終與命令的第1部分相同。

  • NR 為你提供正在處理的記錄總數或行號。

回答 2:

您只能選擇第二列:


$ df/dev/sdb1 | tail -1 | awk '{print $2}' 


1952971772



$2 指示製表符分隔列的位置。 你可以使用 cut , 因為它只處理一次TAB這裡有delimita列的多個標籤 。




文章标签:COM  COMM  Comma  BASH  subst  Substr  Substring  

Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语