Linux 5-Pipe- 2024-07-Week4

1 Pipe管道:|

1 什么时候用:

有些数据要经过多次处理,才能最终得到想要的格式。

2 A | B 

B来处理A传过来的信息、数据。

注意:Pipe管道只能处理标准输出,无法处理错误输出。

如果想要pipe处理错误输出,那么可以2>&1,让1的标准输出和2的错误输出都进行处理。

2 常用命令:cut、grep

注意:一般是一行一行来分析。

1 cut:从一行中,取出我们想要的字段

1 特定分隔字符: -d '字符' -f '第几个'

需求快捷键
对PATH变量,用冒号分隔,取出第五个路径。

format: cut -d '分隔字符' -f <第i个元素>

echo ${PATH} | cut -d ':' -f 5

对PATH变量,用冒号分隔,取出第三个和第五个路径。echo ${PATH} | cut -d ':' -f 3,5

2 想取到特定位置的字符: -c startChar-endChar

2 grep:分析一行数据,如果有我们需要的关键字信息,就显示出整行

grep [-acinv] [--color=auto] '查找字符' fileName

解释:

-a:将二进制以文本形式查找

-c: 计算该字符一共找到基础

-i:忽略大小写

-n:输出行号

-v:反向选择,也就是说找出没有关键字的那一行。

需求快捷键

找到last中有root的那一行

last | grep 'root'
找到last中有root的那一行的第一列数据last | grep 'root' | cut -d ' ' -f 1
找到last中没有root的那一行last | grep -v 'root'

3 排序命令:sort/wc/uniq

1 sort

sort [-fbMnrtuk] [file or stdin]

解释:

-f: 忽略大小写

-b:忽略最前面的空格

-M: 以月份来排序

-n: 使用纯数字排序

-r: 反向排序

-t: 分隔符号,默认是Tab

-u: uniq,相同的数据显示一条

-k: 以哪个区间的字段来进行排序

需求快捷键
cat /etc/passwd以:来分隔,想以第三栏来排序cat /etc/passwd | sort -t ':' -k 3

2 uniq:排序完后,想把重复的数据只显示一遍

uniq [-ic]

解释:

-i: 忽略大小写

-c: 进行计数

3 wc 统计某文件有多少行?多少字?多少字符?

wc [-lwm]

解释:

-l: 显示有多少行

-w: 显示多少字

-m: 多少字符

4 划分:split P357

目标:把一个大文件,按照尺寸或行数,分成多个小文件。

Format: split -bl file newFilePrefix

解释:-b就是按照大小来分;-l按照行数来分

需求        快捷键
把一个600k的文件分成多个子文件,每个300k

split -b 300k originalFile seperate

执行完结果,检查:ll -k seperate**

会生成3个文件,分别叫:

seperateaa,

seperateab,

seperateac

把上一步生成的3个小文件合并成一个大文件

Clue: 用数据流重定向

cat seperate**  >> originalBack

每n行记录放到一个子文件里,比如把ls -al的结果,每十行放到一个文件里。

ls -al | split -l 10 - seperateLine

注意: 要加-

如果需要stdout、stdin,但又没文件时,要加-,那么这个-就会被当成stdin或stdout

5 参数代换 xargs(不懂,下次遇到再说)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值