系统屋 - 系统光盘下载网站!

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

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

时间:2023-01-31来源:系统屋作者: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

  }

 5/6   首页 上一页 3 4 5 6 下一页 尾页
分享到:

相关信息

  • 在Linux上怎么安装和配置DenyHosts工具

    使用DenyHosts能够进行自动屏ip的功能,掌握DenyHosts在Linux系统中的安装是很有必要的,那么在Linux系统中要如何安装DenyHosts工具呢?安装后又要如何配置呢?这都是用户需要学习的。...

    2023-01-30

  • Linux VPS系统盘如何分区?

    在使用vps安装Linux系统后,发现可用分区不足,这主要是vps安装后没有进行相关配置所致,下面小编就给大家介绍下Linux vps系统盘如何分区,深感分区不同的朋友可以来学习下。...

    2023-01-30

评论

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载

公众号