1. 云栖社区>
  2. 技术文集>
  3. 列表>
  4. 正文

Linux命令行里的“瑞士军刀”

作者:用户 来源:互联网 时间:2016-07-05 16:11:58

文件命令内容代码sortxargsPython交集瑞士军刀xargs命令合集awk去除重复值

Linux命令行里的“瑞士军刀” - 摘要: 本文讲的是Linux命令行里的“瑞士军刀”, 这里说的“瑞士军刀”是指那些简单的一句命令就能完成其它高级语言一大片代码才能完成的工作。 下面的这些内容是Quora网站上Joshua Levy网友的总结: 通 过sort/uniq获取文

这里说的“瑞士军刀”是指那些简单的一句命令就能完成其它高级语言一大片代码才能完成的工作。

Linux命令行里的“瑞士军刀”-linux 瑞士军刀

下面的这些内容是Quora网站上Joshua Levy网友的总结:

通 过sort/uniq获取文件内容的交集、合集和不同之处:假设有a、b两个文本文件,文件本身已经去除了重复内容。下面是效率最高的方法,可以处理任何 体积的文件,甚至几个G的文件。(Sort对内存没有要求,但也许你需要用 -T 参数。)可以试着比较一下,你可以看看如果用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_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 ]

 

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有 的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件 , 命令 , 内容 , 代码 , sort , xargs , Python交集 , 瑞士军刀 , xargs命令 , 合集 awk去除重复值 linux 瑞士军刀、瑞士军刀男、瑞士军刀、瑞士军刀背包、瑞士军刀官网,以便于您获取更多的相关知识。

mysql 命令行里 charset gbk; 作用。

问题描述 mysql 命令行里 charset gbk; 作用。 这里我设置了所有的编码格式都是utf8...数据库也是utf8。。怎么插入中文,查询却还是乱码。。这里我不太懂。】 这里环境编码又有什么影响...

Linux命令行里的“瑞士军刀”_linux shell

这里说的“瑞士军刀”是指那些简单的一句命令就能完成其它高级语言一大片代码才能完成的工作。 下面的这些内容是Quora网站上Joshua Levy网友的总结: 通过sort/uniq获取文件内容的交集、合集和不同之处:假设有a、b两个文本文...

Linux Netcat 命令——网络工具中的瑞士军刀

... command – The swiss army knife of networking netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。使用netcat命令所能完成的事情令人惊讶。netcat所做的就...

MySQL瑞士军刀

MySQL的瑞士军刀   这里主要讲mysql运维中的一些主要工具,这些工具可能大家都用过,特别是系统管理员或者做linux服务器维护的同学可能都知道这些小工具,这里讲得会比较多一些,除了系统监控的小工具,还包括一些mysql的工...

高效 Node.js 开发环境之命令行工具篇

... 可以直接在 GitHub 上创建一条 Pull Request,简直是一把 git 瑞士军刀。 git-extras 可以作为 oh-my-zsh 的插件直接在 ~/.zshrc 中启用,也可以用 homebrew 执行 brew install git-extras 安装。 扩展阅读 git extras commands https://github.com/tj/git-extra...

前三篇
后三篇
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一

云服务器9.9元/月,大学必备