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

子言好阳

子言好阳

2016-03-31 16:16

今天图老师小编要跟大家分享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{} 也非常有用。例子:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)复制代码 代码如下:
find . -name *.py | xargs grep some_function
cat hosts | xargs -I{} ssh root@{} hostname



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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)复制代码 代码如下:
cat access.log | egrep -o ‘acct_id=[0-9]+' | cut -d= -f2 | sort | uniq -c | sort -rn ]

 

展开更多 50%)
分享

猜你喜欢

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

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

Linux命令行Find小技巧

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux命令行Find小技巧

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Linux命令行之逗趣的图文

服务器
Linux命令行之逗趣的图文

Porsche设计P’3700 瑞士军刀

工业设计 设计素描
Porsche设计P’3700 瑞士军刀

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Linux命令行中网速测试方法详解

电脑入门
Linux命令行中网速测试方法详解

Delphi命令行参数

编程语言 网络编程
Delphi命令行参数

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

将iPhone微信小视频存储到本地的三个方法

将iPhone微信小视频存储到本地的三个方法

Stingray Traffic Manager配置教程

Stingray Traffic Manager配置教程
下拉加载更多内容 ↓