linux管道命令(在linux中 管道分为两种类型)

Դ新浪

ߣ整站优化

20

2021-11-03 11:18:28

Pipeline将一个命令的标准输出作为另一个命令的标准输入,当数据需要经过多个步骤处理后才能得到我们想要的内容时,可以使用pipeline。使用命令之间的|分隔管道命令。

$ ls -al /etc |减

提取指令

剪切数据,取出所需零件。提取过程是逐行进行的。

$ cut

-d:分离器。

-f:d分离后,用-f n取出第n个音程。

-c:取出字符中的间隔。

示例1: last将显示登录信息,并且只需要显示用户名。

$ last

根pts/1 192 . 168 . 201 . 101 2月7日星期六12:35仍然登录

根pts/1 192 . 168 . 201 . 101 Fri 2月6日

根pts/1 192 . 168 . 201 . 254 2月5日星期四223:37-23:53(01:16)

$ last | cut -d ' ' -f 1

示例2:通过导出从消息输出中获取第12个字符之后的所有字符串。

出口美元

declare-x HISTCONtrol=' ignore dups '

declare -x HISTSIZE='1000 '

declare -x HOME='/home/dmtsai '

declare-x HOSTNAME=' study . centos . vbird '

.(其他省略).

$ export | cut -c 12

排序指令

sort来排序。

$ sort[-fbMnrtuk][文件或stdin]

-f:忽略大小写。

-b:忽略前导空格。

-M:按月份名称排序,如JAN、dec。

-n:使用数字。

-r:反向排序。

-u:相当于唯一,重复的内容只出现一次。

-t:分隔符,默认为tab。

-k:指定排序的间隔。

示例:/etc/passwd内容以:分隔,并按第三列排序。

$ cat/etc/passwd | sort-t ' : '-k 3

root : x:0336003360 root :/root :/bin/bash

dmtsai : x :100033601000: dmtsai :/home/dmtsai :/bin/bash

Alex : x :1001:10023360:/home/Alex :/bin/bash

arod : x :1002:100:/home/arod :/bin/bash

uniq只能获取一个重复数据。

$ uniq [-ic]

-i:忽略案例。

伯爵。

示例:获取每个人的登录总数。

$ last | cut -d ' ' -f 1 | sort | uniq -c

一个

6(未知

47 dmtsai

4重新启动

7根

1个wtmp

双向输出重定向

输出重定向将输出重定向到一个文件,tee不仅可以完成这个功能,还可以将输出保留在屏幕上。也就是说,使用tee指令,一个输出将被传输到文件和屏幕。

$ tee [-a]文件

字符转换指令

tr用于删除一行中的字符或替换字符。

$ tr [-ds] SET1.

-d:从行中删除字符串SET1。

例如,将最后输出的所有小写信息转换为大写。

$ last | tr '[a-z]' '[A-Z]'

col.将制表符转换为空格字符

$ col [-xb]

-x:将tab键转换为等效的空格键。

expand转换为一定数量的空格,默认为8。

$ expand [-t]文件

-t:转换为空格的制表符数。

将这些行与join.的相同数据合并

$ join [-ti12]文件1文件2

-t:分隔符,默认为空格。

-i:忽略情况的不同。

-1:第一个文件使用的比较字段。

-2:第二个文件中使用的比较字段。

paste直接把这两条线粘在了一起。

$ paste [-d]文件1文件2

-d:分隔符,默认为tab。

分区指令

split把一个文件分成多个文件。

$ split [-bl]文件前缀

-b:按大小分区,并添加单位,如b、k、m等。

-l:按行分区。

-PREFIX:分区文件的头名。

佭ϴý Ѷ Media8ý

在线客服

外链咨询

扫码加我微信

微信:juxia_com

返回顶部