linux awk打印連續多列


https://www.cnblogs.com/timeisbiggestboss/p/8011614.html

問題:比如有一個文件是20列,你只要后面的18列,怎么打印。

方法:把第一列和第二列做空;用print打印
[wangjq@mgmt humandb]$ cat test
1 2 3 4 5 6 7 8 9 10
[wangjq@mgmt humandb]$ awk'{$1="";$2="";print $0}' test
  3 4 5 6 7 8 9 10
這種方法有個問題:就是第一列和第二列並沒有消失,只是為空。

 
方法2:循環打印;用printf打印
[wangjq@mgmt humandb]$ cat test
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
[wangjq@mgmt humandb]$ awk'{for(i=3;i<11;i=i+1){printf $i" "};printf "\n"}' test|head
3 4 5 6 7 8 9 10
3 4 5 6 7 8 9 10
  
print和printf兩者的區別:
用print打印,會在打印結束后加上"\n"
用printf打印,后面不會添加任何符號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM