cut

在一行中取出部分数据,以行为单位

cut -d '分隔符 ' -f fields

$ pwd /home/users/chenzhaoqun

$ pwd | cut -d '/' -f 1

$ pwd | cut -d '/' -f 2

home

$ pwd | cut -d '/' -f 3

users

$ pwd | cut -d '/' -f 4

chenzhaoqun

$ pwd | cut -d '/' -f 3,4

users/chenzhaoqun

cut -c 字符范围

以字符为单位取出固定字符区间

$ export

declare -x ANT_HOME="/home/tools/tools/ant/apache-ant-1.6.5"

declare -x ANT_HOME_1_7="/home/tools/tools/ant/apache-ant-1.7.1" declare -x G_BROKEN_FILENAMES="1"

$ export | cut -c 12-

ANT_HOME="/home/tools/tools/ant/apache-ant-1.6.5" ANT_HOME_1_7="/home/tools/tools/ant/apache-ant-1.7.1" G_BROKEN_FILENAMES="1"

$ export | cut -c 12-15

ANT_

ANT_

G_BR

grep

分析一行,有我们需要的信息就将该行拿出来

grep [-acinv] [--color=auto] '查询字符串' filename

-a

将二进制文件以text方式查询

-c

计算找到字符串的次数

-i

忽略大小写

-n

输出行号

-v

反向选择,显示不包含‘查询字符串’的行

表2-1 grep使用的正则表达式元字符

元字符

功能

示例

匹配对象

^

行首定位符

‘^love’

匹配所有以love开头的行

$

行尾定位符

‘love$’

匹配所有以love结尾的行

.

匹配单个字符

‘l..e’

匹配包含一个l,后面跟两个字符,再跟一个e的行

*

匹配0或者多个重复的位于*前的字符

‘*love’

匹配包含跟在0个或者多个字符后的love的行

[]

匹配一组字符中的任意一个

‘[Ll]ove’

匹配Love或者love

[^]

匹配不在指定组内的字符

’[^A-Z]’

匹配不在范围A至Z之间的任意一个字符

<

词首定位符

匹配包含以love开头的词的行

<

词尾定位符

‘love/>’

匹配包含以love结尾的词的行

(..)

标记匹配到的字符

’(love)ing’

模式love被保存在1号寄存器中,之后可用\1引用它

x{m}或x{m,}或x{m,n}

字符x的重复次数:m次、至少m次、至少m次但不超过n次

‘o{5}’,’o{5,}’ ,’o{5,10}’

匹配连续出现5个o、至少5个o或者5~10个o的行

其他方法:

1、使用多个 -e 参数

如:netstat -an | grep -E "ESTABLISHED|WAIT"

注意:netstat -an | grep -e EST -e WAIT 并列使用多个 -e参数可以实现或条件

2、使用扩展

如:netstat -an | grep -E "ESTABLISHED|WAIT"

注意:此处的 -E 是大写 ,匹配条件一定要加 引号

sort

sort [-fbMnrtuk] [file or stdin]

-f

忽略大小写

-b

忽略行前的空格

-M

以月份的名字来排序,JAN > DEC

-n

使用“纯数字”排序

-r

反向排序

-u

uniq

-t

指定分隔符,默认是TAB

-k

以分割之后的哪个field来排序

uniq

uniq [-ic]

-i

忽略大小写

-c

进行计数

$ last | cut -d ' ' -f1 | sort | uniq -c | sort -r -n

345 root

171 duanzhib

126 zouxidon

68 zhouqian

68 chenzhao

37 wangjinl

35 jiangwei

last命令列出最近登录的用户列表

第一列为用户名

最后的结果是按登录次数逆序的排名

综合使用案例:

一个文件similog中有很多行:

debug:[一汽%20夏利n5,一汽%20夏利n5][1,2] simi 100, interval 16

想要把simi后面的分数取出来,并统计分布

cat similog | cut -d ']' -f 3 | cut -d ' ' -f 3 | tr -d ',' | sort -n | uniq -c

cat similog 不解释

cut -d ']' -f 3 取出 simi 100, interval 16

cut -d ' ' -f 3 取出100,

tr -d ',' 删除,

sort -n 排序

uniq -c 统计出现的次数

tee

tee [-a] file

-a 对file进行续写,append文件模式

tee是将stdout转存一份到文件,又不影响stdout的输出,后面还可以被其他命令处理

字符转换命令 tr col join paste expand

tr [-ds] SET1 [SET2]

参数

解释

-d

删除str

-s

替换掉重复的字符

-t

将SET1按SET2的长度截断

tr '[a-z]' '[A-Z]'

upper case

col [-xb]

参数

解释

-x

将tab转成空格

-b

将/,仅保留/最后接的字符

join [-ti12] file1 file2

将两个文件的按照第一列合并

参数

解释

-t

指定列分隔符,默认是空格

-i

忽略大小写

-1 n

对文件1按第n列比较

-2 n

对文件2按第n列比较

join -1 3 file1 -2 4 file2

这是file1的第3列和file2的第4列,就会合并,然后放到第1列,后面接剩余的数据

注意:对比时两文件要sort

paste [-d] file1 file2

将两个文件的每行合并成一行,中间被分隔符分割

参数

解释

-d

指定分隔符

把file写成- 表示来自std input的意思

expand [-t] file

将tab转成空格,-t指定转成空格的个数

split

split [-bl] file PREFIX

将一个大文件切割成指定大小或指定行的小文件

参数

解释

-b

按大小分割,可加单位,b, k, m

-l

按行数分割

PREFIX

分割后文件名的前缀

-a

suffix length,默认为2,且是aa,ab,ac…命名

-d

以数字作为后缀

文件合并

使用重定向

如将file1,file2,file3合并成file

cat file1 file2 file3 >> file

cat file* >> file

xargs

xargs [-0epn] command

为command生成参数,并且执行command

因为有些command不支持直接使用管道,可以从stdin读入,使用空格分割,然后作为command的参数执行

参数

解释

-0

还原stdin中的特殊字符,如 ` \ 空格等,为一般字符

-e

后面接一个字符串,xargs分析到该字符串时就停止,该字符串不会被使用

-p

每次执行command,都询问

-n

command使用n个参数,更多的都会忽略

- 减号

可以用-表示stdin或stdout,放在应该写file的地方

linux 管道使用方法,Linux 管道命令相关推荐

  1. linux test 使用方法,Linux系统test命令使用方法介绍

    Linux系统中有时需要检测某个条件是否成立,那么就要用到test命令了,Linux下test的用法有很多,下面就随小编一起来学习下Linux系统中如何使用test命令吧. 1.判断一个命令的结果使用 ...

  2. linux zcat 使用方法,Linux系统中zcat命令的知识详解

    Linux系统中的zcat命令不同于cat命令,它不用解压缩文件就能显示压缩包文件的内容,那么下面由学习啦小编为大家整理了linux系统中zcat命令的知识详解,希望对大家有帮助! Linux系统中z ...

  3. linux隐藏文件的方法,Linux下隐藏文件的操作方法

    Linux下隐藏文件的操作方法 发布时间:2020-04-11 11:32:34 来源:亿速云 阅读:550 作者:小新 今天小编给大家分享的是Linux下隐藏文件的操作方法,很多人都不太了解,今天小 ...

  4. linux tc 使用方法,Linux下TC使用说明

    Linux下TC使用说明 Linux下TC使用说明 一.TC原理介绍 Linux操作系统中的流量控制器TC(Traffic Control)用于Linux内核的流量控制,主要是通过在输出端口处建立一个 ...

  5. Linux文本加密方法,Linux命令行文本加密的小技巧

    Linux命令行文本加密的小技巧 我在学习shell攻略时了解到了这个方法,感觉简单有趣,所以现在把它整理出来和大家分享. ROT13文本编码 介绍 ROT13(回转13位,rotateby13pla ...

  6. linux read使用方法,Linux命令: read的使用

    read read命令从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合.该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开.在read命令后面,如果没有指定变量名,读取的 ...

  7. linux patch使用方法,Linux patch命令

    patch 英 [pætʃ]   美 [pætʃ] n.补丁,补片;眼罩;斑点;小块 vt.修补,拼凑;暂时遮掩一下;修理,平息(吵架等);用美人斑装饰(脸) vi.打补丁 第三人称单数: patch ...

  8. linux ls使用方法,Linux/Ubuntu ls命令详解使用格式和方法

    烈火建站学院文档 ls命令是Linux/Ubuntu中用来查看所选目录下有哪些文件以及列出当前目录中子目录的清单的命令,是Linux/Ubuntu中经常用到的一个命令,也是一个非常基本的命令.在很多操 ...

  9. linux date使用方法,linux命令详解date使用方法(计算母亲节和父亲节日期脚本示例)...

    常用参数 格式:date 显示当前日期时间. 格式:date mmddhhmm           # 简而言之,就是"月日时分" 格式:date mmddhhmmyyyy 格式: ...

最新文章

  1. 如何用12864液晶显示图片和绘制任意函数图象(打点)
  2. WebQQ hash加密算法PHP版
  3. 牛客多校 - Minimum-cost Flow(最小费用最大流+贪心)
  4. 轻松理解UML用例图时序图类图的教程
  5. 华为python面试题库_我收集了100道Python面试题,开源到了Github
  6. JAVA day06 酒店管理系统
  7. eltable 无数据文案修改_el-table的二次封装详细版(一)
  8. 电路板故障测试仪GR4080软件,电路板故障检测仪
  9. SQL 当天在当月、当季度、当年的时间进度
  10. 利用宏合并一个工作薄下的多张表格方法
  11. Nginx配置天地图缓存
  12. 马来西亚计算机科学与工程大学,一分钟了解世界名校马来西亚电脑科学与工程大学...
  13. PPT如何设置幻灯片大小
  14. 一个C语言算法--税收计算
  15. C++ 子类的拷贝构造函数调用其父类的拷贝构造函数
  16. 过拟合的原因和解决方案
  17. 【面试经历】美团2020秋招测试开发一面二面
  18. 上课记录笔记 项目1 文字大乱斗 v0.1
  19. 从零开始的Django框架入门到实战教程(内含实战实例) - 08 用户界面(内含图形验证码的生成和校验详解)(学习笔记)
  20. SD销售模式之MTS和MTO

热门文章

  1. IT兄弟连 JavaWeb教程 EL表达式获取对象的属性以及数组的元素
  2. Java基础-IO流对象之数据流(DataOutputStream与DataInputStream)
  3. 项目遇到的问题或处理办法
  4. nodejs连接mysql报connect ECONNREFUSED错误的解决方法
  5. 基于CentOS 6.8平台最新源代码包编译安装企业版MariaDB数据库
  6. Oracle For 循环添加数据
  7. 中科院NLPIR中文分词java版
  8. centos6.5_x64远程链接输入正确的账号密码无法登陆
  9. hibernate二级缓存理解
  10. rebar Erlang构建工具(转)