常用管道相关命令

本文介绍了Linux中常用的管道命令,包括cut、sort、wc、uniq、tee、tr、split和awk的详细用法和实例,帮助读者理解如何利用这些命令进行数据处理和分析。
摘要由CSDN通过智能技术生成

常用管道相关命令

cut

释义:根据条件从命令结果中提取对应内容

参数:

-c : 按字符选取行中内容

-d ’ ‘:指定以’ '中内容为分割符

-f n1 ,n2 :分割后显示第几段的内容、

sort

释义:sort可针对文本文件的内容来排序

-u :去重

-n :按照数值大小排序

-r :使次序颠倒

例:[root@node01 tmp]# sort -nr 2.txt

-t :指定字段分隔符

-k :根据那一列排序

例:[root@node01 tmp]# sort -t ‘,’ -k2nr score.txt

wc

释义:显示指定文件的行数单词数字节数

-c :字节数

-w :单词数

-l :行数

统计多个文件 :
wc 1.txt 2.txt 3.txt … wc *.txt

查看目录下的子内容:
[root@hadoop01 export]# ls /etc | wc -w

uniq

释义:uniq 命令用于检查及删除文本文件中重复出现的行,一般与 sort 命令结合使用

例:cat 5.txt | sort | uniq

-c :count 统计每行内容出现的次数

tee

释义:通过tee将命令结果输出到多个文件

命令格式:
命令结果 | tee 文件1 文件2 文件3

例:cat 5.txt | sort | uniq -c | tee a.txt b.txt c.txt

tr

释义:用于替换或删除文件中的字符

命令格式:
命令结果 | tr ‘旧字符’ ‘新字符’

-c :反选设定

-d : delet 删除指令字符

-s :缩减连续重复的字符为单个

split

释义:通过 split 命令将大文件 切分成 若干小文件

-b :指定每多少字节分割为一个小文件

-l :指定每多少行分割为一个小文件

-d :添加数字后缀(因为默认添加的是字母后缀,所有要想加数字需要自己添加)

-a : 输出文件后缀长度,默认为:2

awk

释义:通过 awk 实现 模糊查询, 按需提取字段, 还可以进行 判断 和 简单的运算等.

第一步:模糊查询

命令:
awk ‘/要查询的内容/’ score.txt

awk -F ‘,’ ‘{print $1, $2, $3}’ 1.txt操作1.txt文件, 根据 逗号 分割, 打印 第一段 第二段 第三段 内容

选项

选项英文含义
-F ','field-separator使用 指定字符 分割
$ + 数字获取第几段内容
$0获取 当前行 内容
NFfield表示当前行共有多少个字段
$NF代表 最后一个字段
$(NF-1)代表 倒数第二个字段
NR代表 处理的是第几行

第三步: 指定分割符, 根据下标显示内容

命令含义
awk -F ’ ’ ‘{OFS="==="}{print $1, $2, $3}’ 1.txt操作1.txt文件, 根据 逗号 分割, 打印 第一段 第二段 第三段 内容

选项

选项英文含义
OFS="字符"output field separator向外输出时的段分割字符串

第四步: 调用 awk 提供的函数

命令含义
awk -F ‘,’ ‘{print toupper($2)}’ 1.txt操作1.txt文件, 根据 逗号 分割, 打印 第一段 第二段 第三段 内容

常用函数如下:

函数名含义作用
toupper()upper字符 转成 大写
tolower()lower字符 转成小写
length()length返回 字符长度

第五步: if语句 查询及格的学生信息

命令含义
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”, 就打印这一行内容

第六步: 段内容 求学科平均分

命令含义
awk ‘BEGIN{初始化操作}{每行都执行} END{结束时操作}’ 文件名BEGIN{ 这里面放的是执行前的语句 }
{这里面放的是处理每一行时要执行的语句}
END {这里面放的是处理完所有的行后要执行的语句 }
awk -F ',' 'BEGIN{}{total=total+$4}END{print total, NR, (total/NR)}' score.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值