东坡网 - 更多系统软件下载,请关注东坡网:www.dongpow.com

当前位置:首页 > 系统教程 > Linux教程 > 详细页面

Linux命令行的日常使用技术(5)

时间:2017-08-17来源:东坡网作者:zhijie

  单行程序

  这是将命令连成一行的一些样例:

  有时候通过 sort/uniq 对文本文件做交集、并集和差集运算时,这个例子会相当有帮助。假定 a和 b 是已经进行了唯一性处理的文本文件。这会很快,而且可以处理任意大小的文件,总计可达数千兆字节。(Sort不受内存限制,不过如果 /tmp 放在一个很小的根分区的话,你可能需要使用 -T 选项。)也可参见上面关于LC_ALL的注解和 -u 选项(参见下面例子更清晰)。

  sh 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 的差集

  使用 grep 。 * 来可视化查看一个目录中的所有文件的所有内容,例如,对于放满配置文件的目录: /sys, /proc, /etc。

  对某个文本文件的第三列中所有数据进行求和(该例子可能比同等功能的Python要快3倍,而且代码也少于其3倍):

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

  如果想要查看某个文件树的大小/日期,该例子就像一个递归ls -l,但是比ls -lR要更容易读懂:

  find 。-type f -ls

  只要可以,请使用 xargs 或 parallel。注意,你可以控制每行(-L)执行多少个项目,以及并行执行(-P)。如果你不确定它是否会做正确的事情,可以首先使用 xargs echo。同时,使用 -I{} 也很方便。样例:

  find 。-name ’*.py‘| xargs grep some_function

  cat 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

  运行该函数来获得来自本文的随机提示(解析Markdown并从中提取某个项目):

  function taocl(){

  curl -s https://raw.githubusercontent.com/jlevy/the-art-of-command-line/master/README.md |

  pandoc -f markdown -t html |

  xmlstarlet fo --html --dropdtd |

  xmlstarlet sel -t -v ”(html/body/ul/li[count(p)》0])[$RANDOM mod last()+1]“|

  xmlstarlet unesc | fmt -80

  }

分享到:

相关信息

  • linux检测及防止DDOS攻击的技巧

    身为一个网站的站长,不仅要保证网站的流量提升,还要预防DDOS攻击,那么在Linux系统下要如何检测DDOS攻击呢?又该如何防止DDOS攻击呢?这都是一门学问。...

    2023-03-16

  • 惠普笔记本Debian编译声卡驱动的方法

    在惠普笔记本上安装完Debian系统后,声音出现了问题,多半是声卡驱动故障,这时可重新安装编译声卡驱动解决问题,下面小编就给大家详细介绍下Debian编译安装声卡驱动的方法。...

    2023-03-16

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载

公众号