zoukankan      html  css  js  c++  java
  • awk中打印连续多列,或者删除多列的技巧

    问题:比如有一个文件是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 "
    "}' test|head
    3 4 5 6 7 8 9 10 
    3 4 5 6 7 8 9 10 
    

      

    print和printf两者的区别:

    用print打印,会在打印结束后加上" "

    用printf打印,后面不会添加任何符号

    参考:

    http://blog.csdn.net/liuxiao723846/article/details/55003749

    http://blog.itpub.net/27181165/viewspace-775817/

  • 相关阅读:
    mongodb的安装
    express初体验
    vscode自定义快捷键
    项目开发前准备——清除默认样式
    手动开启和关闭mysql
    一步添加博客园看板娘
    js实现动态球球背景
    kendo grid 使用小结
    flask 与celery
    scrapy 调用js
  • 原文地址:https://www.cnblogs.com/timeisbiggestboss/p/8011614.html
Copyright © 2011-2022 走看看