文档章节

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

问题终结者
 问题终结者
发布于 07/12 22:11
字数 568
阅读 6
收藏 0
点赞 0
评论 0

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

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

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

原文来自:https://www.linuxprobe.com/linux-swiss-sabre.html

本文转载自:​​​​​​​https://www.linuxprobe.com/linux-swiss-sabre.html

共有 人打赏支持
问题终结者
粉丝 10
博文 637
码字总数 79232
作品 0
运维
Linux命令行里的“瑞士军刀”

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

首席安全砖家
2013/06/07
0
0
Linux 命令行里的“瑞士军刀”

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

oschina
2013/06/08
8.5K
28
BusyBox 1.28.4 发布,Unix 常用工具包

BusyBox 1.28.4 已发布,主要修复了 nsenter option 解析和 dpkg symlink 提取的问题。详情 BusyBox 是一个集成了一百多个最常用 linux 命令和工具的软件。BusyBox 包含了一些简单的工具,例...

王练
05/25
0
0
编写 Hello world 模块驱动

(1) 模块动态加载驱动方式 在内核源码的“drivers/char/”目录下新建一个名为“hello .c”的文件,网络营销培训内容如下: #include <linux/module.h> #include <linux/kernel.h> #include <......

网络营销
2012/02/13
0
0
SHELL利器:比较常用的SHELL命令(持续更新)

awk,说shell中的瑞士军刀不为过吧 # 实现SQL中的group by功能,例如对“姓名 地点 年龄”按照地点字段统计其年龄之和awk '{arr[$2]+=$3} END{for(i in arr) print i,arr[i]}' source_file.t...

Iuranus
2014/06/23
0
2
Linux Grub进入单用户模式修改Root密码

Linux 系统处于正常状态时,服务器主机开机(或重新启动)后,能够由系统引导器程序自动引导 Linux 系统启动到多用户模式,并提供正常的网络服务。如果系统管理员需要进行系统维护或系统出现...

jccpp
2013/04/13
0
0
为 Android 安装 busybox

转载自:http://www.cnblogs.com/xiaowenji/archive/2011/03/12/1982309.html 大 家是否有过这样的经历,在命令行里输入adb shell,然后使用命令操作你的手机或模拟器,但是那些命令都是常见...

无鸯
2011/10/13
3.2K
1
Linux开发和Windows娱乐两不误

Windows + Cygwin + VirtualBox Linux Cygwin不需要虚拟机支持,自带终端模拟器,能够使用Linux上众多强大的命令行工具(vim/gcc/gdb/make,curl/wget,grep/find/awk/sed等等),通过setup.e...

eechen
2014/01/16
0
5
opensuse13 开启ssh登陆

首先确定的是,默认已经安装了ssh服务。 1、SUSE Linux下启动sshd: 命令行:rcsshd start 使用命令行:rpm -qa | grep ssh查看是否已安装ssh。 linux-kelh:~ # rpm -qa | grep ssh openssh-...

LiShixi
2013/11/27
0
0
Windows 命令行:演变史

欢迎来到“Windows 命令行”系列的第二篇文章。在本文中,我们将讨论 Windows 命令行背后的一些背景和历史。具体来说,我们将探索它在 MS-DOS 中的卑微起源,到它的现代化身支持工具,如 Po...

oschina
07/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

shell中的函数、shell中的数组、告警系统需求分析

shell中的函数 格式: 格式: function f_name() { command } 函数必须要放在最前面 示例1(用来打印参数) 示例2(用于定义加法) 示例3(用于显示IP) shell中的数组 shell中的数组1 定义数...

Zhouliang6
今天
2
0
用 Scikit-Learn 和 Pandas 学习线性回归

      对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题     没有...

wangxuwei
今天
1
0
MAC安装MAVEN

一:下载maven压缩包(Zip或tar可选),解压压缩包 二:打开终端输入:vim ~/.bash_profile(如果找不到该文件新建一个:touch ./bash_profile) 三:输入i 四:输入maven环境变量配置 MAVEN_HO...

WALK_MAN
今天
0
0
33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复: ~1. 保存和备份iptables规则 ~2...

王鑫linux
今天
2
0
大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
今天
1
0
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
今天
2
0
HFS

FS,它是一种上传文件的软件。 专为个人用户所设计的 HTTP 档案系统 - Http File Server,如果您觉得架设 FTP Server 太麻烦,那么这个软件可以提供您更方便的档案传输系统,下载后无须安装,...

garkey
今天
1
0
Java IO类库之BufferedInputStream

一、BufferedInputStream介绍 /** * A <code>BufferedInputStream</code> adds * functionality to another input stream-namely, * the ability to buffer the input and to * sup......

老韭菜
今天
0
0
STM 32 窗口看门狗

http://bbs.elecfans.com/jishu_805708_1_1.html https://blog.csdn.net/a1985831055/article/details/77404131...

whoisliang
昨天
1
0
Dubbo解析(六)-服务调用

当dubbo消费方和提供方都发布和引用完成后,第四步就是消费方调用提供方。 还是以dubbo的DemoService举例 -- 提供方<dubbo:application name="demo-provider"/><dubbo:registry address="z...

青离
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部