课程咨询 :0571-56020834 QQ:1633630073

杭州达内T计划培训

杭州嵌入式培训 > 达内新闻 > Linux命令行的“瑞士军刀”
  • Linux命令行的“瑞士军刀”

    发布:杭州嵌入式培训      来源:慕课社区      时间:2015-11-26


  •     达内嵌入式培训专家表示,linux命令行的“瑞士军刀”是指一句简单的命令就能完成其它高级语言大量代码才能完成的工作。

        一、通过sort/uniq获取文件内容的交集、合集和不同之处:假设有a、b两个文本文件,文件本身已经去除了重复内容。下面是效率最高的方法,可以处理任何体积的文件,甚至几个G的文件。比较一下,用Java来处理磁盘上文件的合并,会需要用多少行代码。

    cat a b | sort | uniq > c   # c 是a和b的合集
    cat a b | sort | uniq -d > c   # c 是a和b的交集
    cat a b b | sort | uniq -u > c   # c 是a和b的不同

        二、汇总一个文本内容里第三列数字的和。比用Python来做快3倍并只需1/3的代码量:

    awk ‘{ x += $3 } END { print x }’ myfile

        三、如果你想查看一个目录树里的文件的体积和修改日期,用下面的方法,相当于你每个目录做”ls -l”,而且输出的形式比你用”ls -lR”更可读:

    find . -type f -ls

        四、使用xargs命令。这个命令非常的强大。注意每行上你可以控制多少个东西的执行。若是不确定是否正确的执行,先使用xargs echo。同样,-I{}也非常有用。代码如下

    find . -name \*.py | xargs grep some_functioncat hosts | xargs -I{} ssh root@{} hostname

        五、假设你有一个web服务器日志,在某些行上有一些值,比如URL中的acct_id参数。如果你想统计每个acct_id的所有请求记录:

    cat access.log | egrep -o ‘acct_id=[0-9]+’ | cut -d= -f2 | sort | uniq -c | sort -rn


    推荐文章

上一篇:达内:13条实用的编程经验

下一篇:Linux 优雅使用的哲学

最新开班日期  |  更多

嵌入式--免费训练营

嵌入式--免费训练营

开班日期:每月底

嵌入式--高薪就业班

嵌入式--高薪就业班

开班日期:每月底

嵌入式--零基础周末班

嵌入式--零基础周末班

开班日期:每月底

嵌入式--零基础全日制班

嵌入式--零基础全日制班

开班日期:每月底

  • 地址:杭州市西湖区文三路199号创业大厦
  • 课程培训电话:0571-56020834 QQ:1633630073     全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56