02.linux管道相关的命令

注意本章最重点是awk
1.cut
1.cut 根据条件从命令中提取对应的内容
列如:head -2 1.txt| cut -c 5 截取文件1.txt中前两行的第五个字符

  1. 截取1.txt中前2行以’:'进行分割的1,2端内容
    命令 含义
    cut 动作 文件 从指定文件中截取内容

选项卡
参数 含义
-c 按字符选取内容
-d 分隔符 指定分隔符
-f n1,n2 分割以后显示第几段内容,使用’ 指定字符 ’ 分割

范围控制
范围 含义
n 只显示第n项
n - 显示从第n项到行尾
n -m 显示从第n项到第m项(包括m)

截取1.txt中前2行以’:'进行分割的1,2端内容

head -2 1.txt|cut -d ‘:’ -f 1,2 截取从1和2两个项
head -2 1.txt|cut -d ‘:’ -f 1-2 截取1到2

cut -c 4 查看第4个数字

2.sort
含义:sort是针对文本文件内容,以行尾单位排序
2.1用法:
1.对字符串 排序
2.去重排序
3.对数值排序
4.对成绩排序

2.2实现
    1.字符串排序  sort 文件名/路径
    2.去重排序  -u  是去掉重复的
        sort -u 文件名/路径
    3.数值排序  -n 按照数值的从小到大 ;-r 使排序颠倒
        sort -n 文件名/路径   从大到小
        sort -nr 文件名/路径   从小到大
    4.对成绩排序  -t 指定字段分隔符;  -k数值   根据指定列排序
            例:根据第二段成绩 倒序所有内容
                sort -t ',' -k2nr score.txt

多个横线之间可以省略

3.WC命令
wc:显示指定文件的字节数,单词数,行数
wc选项卡
-l 计算一共多少行
-c 计算字节
-w 计算单词
格式:wc -l 文件名/路径

4.uniq
用法:uniq命令用于检查和删除文本文件中的重复行,一般和sort命令结合使用
1.去重
cat 文件名|sort|uniq
2.去重统计出现的次数
cat 文件名|sort|uniq -c

5.tee
tee可以将命令结果通过管道输出多个文件中
在这里插入图片描述
将去重统计的结果放到 a.txt b.txt c.txt文件中
cat 5.txt |sort |uniq -c|tee a.txt b.txt c.txt

6.tr
通过tr命令用于替换或者删除文件中的字符
1.实现替换效果
在这里插入图片描述

2.实现删除的效果
需求:删除abc1d4e5f中的数字
echo ‘abc1d4e5’|tr -d ‘[0-9]’

3.单词计数
统计每个单词出现的次数使用,切割
cat 文件名 | tr ‘,’ ‘\n’ | sort | uniq -c
在这里插入图片描述

7 split
通过split命令将大文件切分成若干小份

1.按照字节将大文件切分
split -b 1k 文件 切成多个1kb的小文件
2.按照行数将大文件切分
split -l 10 文件 切成多个10行小文件

8 awk
通过awk 模糊查询 ,按需要提取字段,还可以进行判断和简单的运算
awk
在’'里面的|是或的意思 不是管道

awk -F ’ ’ ‘{print $1}’ score.txt
-F 是按照空格切割 $1是切割后的第一个单词
1.模糊查询
awk ‘/zhang|lisi|/’ score.txt 模糊查询zhangsan或者lisi

2.指定分割符,根据下标显示内容
awk -F ‘,’ ‘{print $1,$2,$3}’ 1.txt 根据,分割 打印第一段,第二段,第三段内容
awk选项卡
在这里插入图片描述

3.指定分割符 根据下标显示内容
awk -F ’ ’ ‘{OFS="==="}{print $1,$2,$3}’ 1.txt
根据 逗号 分割, 打印 第一段 第二段 第三段 内容

OFS=“字符” 表示想外输出是的段分割字符串
4.调用awk提供的函数
awk -F ‘,’ ‘{print toupper($2)}’ 1.txt --》根据逗号 分割 把第二段的内容转成大写字母

常用函数如下:
在这里插入图片描述

把指定的内容转成大写之后再转成小写
awk -F ‘,’ ‘{print tolower(toupper($2))}’ 1.txt

5.通过if判断$4是否及格

命令
含义
awk -F ‘,’ ‘{if($4>60) print $1, $4 }’ score.txt
如果及格,就显示 $1, $4
awk -F ‘,’ ‘{if($4>60) print $1, $4, “及格”; else print $1, $4, “不及格”}’ score.txt
显示 姓名, $4, 是否及格
选项

参数
含义
if($0 ~ “aa”) print $0
如果这一行包含 “aa”, 就打印这一行内容
if($1 ~ “aa”) print $0
如果第一段 包含 “aa”, 就打印这一行内容
if($1 == “lisi”) print $0
如果第一段 等于 “lisi”, 就打印这一行内容

‘‘ 和"" 不同

9.sed
sed可以实现过滤和替换的功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值