`
suncf1985
  • 浏览: 28782 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

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

阅读更多
本文转载自: 外刊IT评论 http://www.aqee.net/

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

下面的这些内容是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

[英文原文:What are the most useful "Swiss army knife" one-liners on Unix? ]
分享到:
评论

相关推荐

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

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

    MySQL命令行:数据库管理的瑞士军刀

    在大多数 Linux 发行版中,MySQL 命令行工具可以通过包管理器轻松安装。例如,在 Ubuntu 系统中,可以通过以下命令完成安装: ```bash sudo apt-get update sudo apt-get install mysql-client ``` 安装完成后,...

    IXWebSocket:websocket和http客户端和服务器库,随附ws,命令行瑞士军刀实用程序

    它已在macOS,iOS,Linux,Android,Windows和FreeBSD上进行了测试。 请注意,目前不支持MinGW编译器。 简单性和正确性是两个重要的设计目标。 一个影响用户使用SSL启用且以OpenSSL作为后端进行编译的严重安全漏洞...

    Android中实现用命令行同步网络时间

    一、简介 Android基于Linux平台的开源手机操作系统。 二、原理 既然是Linux,那就应该支持linux的各种命令行,高度的可配置,但实验发现Android是Google的一个高度阉割...有些人将 BusyBox 称为 Linux 工具里的瑞士军刀

    BUSYBOX命令行使用

    BUSYBOX命令行使用,各种命令。 BusyBox是标准Linux工具的一个单个可执行实现。...有些人将BusyBox称为Linux工具里的瑞士军刀.简单的说BusyBox就好像是个大工具箱,它集成压缩了Linux的许多工具和命令。

    cmd操作命令和linux命令大全收集

    CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) 命令大全 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 ,是一个 监测网络中 DNS...

    n98-magerun2:面向Magento开发人员,系统管理员和开发人员的瑞士军刀。 该工具提供了大量经过良好测试的命令行命令,可以节省数小时的工作时间。 所有命令均可通过模块API扩展

    用于Magento 2的netz98 magerun CLI工具n98 magerun cli工具提供了一些方便的工具,可从命令行使用Magento。建立状态最新发布的 发展处 开发在开发分支中完成。 该软件仅与Magento 2一起运行。 如果您使用Magento 1...

    ralph-cli:Ralph系统的命令行界面

    它的目标是充当Ralph所有功能的“瑞士军刀”,而这些功能足够合理,可以将其从Web GUI引入终端。 目前,您可以使用它(通过scan命令)来发现硬件的组件,但是我们将在将来扩展功能(请参阅 )。 请注意, ralph-cli...

    cfssl:CFSSL:Cloudflare的PKI和TLS工具包

    CFSSL是CloudFlare的PKI / TLS瑞士军刀。 它既是命令行工具,又是用于签名,验证和捆绑TLS证书的HTTP API服务器。 它需要Go 1.12+才能构建。 请注意,某些Linux发行版已删除了某些算法(尤其是基于RHEL的发行版),...

    GraphicsMagick+im4java.pdf

    GraphicsMagick号称图像处理领域的瑞士军刀。 短小精悍的代码却提供了一个鲁棒、高效的工具和库集合,来处理图像的读取、写入和操作,支持超过88种图像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和...

    HackMyResume:生成HTML,Markdown,LaTeX,MS Word,PDF,纯文本,JSON,XML,YAML,冒烟信号和信鸽的精美简历和简历

    从命令行或外壳以多种格式创建精美的简历和简历。 使用干净的Markdown和JSON编写,导出为Word,HTML,PDF,LaTeX,纯文本和其他任意格式。 战斗力量,拯救树木。 与和简历兼容。 HackMyResume是一款适用于开发人员...

    批处理详细教程

    基本格式 63 附录8下载软件 64 瑞士军刀:nc.exe 64 扫锚工具:xscan.exe 67 命令行方式嗅探器: xsniff.exe 69 终端服务密码破解: tscrack.exe 70 其它 72 附录9 FTP命令详解 75 附录10 ...

    HackMyResume:生成精美的简历和简历-开源

    从命令行或 shell 以多种格式创建精美的简历和简历。 以干净的 Markdown 和 JSON 格式创作,导出为 Word、HTML、PDF、LaTeX、纯文本和其他任意格式。 对抗力量,拯救树木。 兼容 FRESH 和 JRS 简历。 HackMyResume ...

    pandoc window安装版.zip

    Pandoc是由John MacFarlane开发的标记语言转换工具,可实现不同标记语言间的格式转换,堪称该领域中的“瑞士军刀”。 Pandoc使用Haskell语言编写,以命令行形式实现与用户的交互,可支持多种操作系统;Pandoc采用GNU...

    pandoc(潘多克)-2.9.zip

    Pandoc是由John MacFarlane开发的标记语言转换工具,可实现不同标记语言间的格式转换,堪称该领域中的“瑞士军刀”。 Pandoc使用Haskell语言编写,以命令行形式实现与用户的交互,可支持多种操作系统;Pandoc采用GNU...

Global site tag (gtag.js) - Google Analytics