Linux系列shell编程之文档操作(1)

网友投稿 689 2022-05-29

1、wc命令功能:统计文件行数、单词数等功能。

# wc常用选项。后面带了###,表示常用的。 -l:统计多少行 ### -w:统计字数 ### -c:统计文件字节数,一个英文字母1字节,一个汉字占2-4字节(根据编码) -m:统计文件字符数,一个英文字母1字符,一个汉字占1个字符 -L:统计最长行的长度,也可以统计字符串长度 ### -help:显示帮助信息 -version:显示版本信息

操作如下:

[hadoop@image1 shell]$ cat wc.txt aaa ssss ttttt bbbbbb;llll ffffffffffffffff gggggggggg [hadoop@image1 shell]$ wc wc.txt 4 6 61 wc.txt 行数 单词数 字节数 文件名 # -l 统计文件有多少行 [hadoop@image1 shell]$ wc -l wc.txt 4 wc.txt [hadoop@image1 shell]$ cat wc.txt | wc -l 4 # -w 统计文件单词数 [hadoop@image1 shell]$ wc -w wc.txt 6 wc.txt [hadoop@image1 shell]$ cat wc.txt | wc -w 6 # -L 统计最长行的长度。空格也算 [hadoop@image1 shell]$ wc -L wc.txt 20 wc.txt # -L 还可以统计字符串的长度 [hadoop@image1 shell]$ echo "abc" | wc -L 3

2、sort命令功能:排序(默认把整行作为整体,进行排序)

# 常用选项 -f:忽略字母大小写,就是将小写字母视为大写字母排序 -M:根据月份比较,比如JAN、DEC -h:根据易读的单位大小比较,比如2K、1G -g:按照常规数值排序 -n:根据字符串数值比较 -r:倒序(降序)排序 ### -k:位置1,位置2根据关键字排序,在从第位置1开始,位置2结束 ### -t:指定分隔符 ### -u:去除重复行 ### -o:将结果写入文件

默认把每一行看成一个整体,进行排序。

将数据按照指定分隔符分割,然后按照分割后的第二列数据,进行排序。

将数据按照指定分隔符分割,然后按照分割后的第二列数据,进行排序。若分裂后的第二列数据相同,就按照第三列降序。

删除重复行。既可以去除相邻行的重复,也可以去重不相邻行的重复。与下面的uniq进行对比学习。

3、uniq命令功能:去重。只能去除相邻行。

# 常用选项 -c:打印出现的次数 -d:只打印重复行。 -u:只打印不重复行。 -D:只打印重复行,并且把所有重复行打印出来 -f N:比较时跳过前N列 -i:忽略大小写 ### -s N:比较时跳过前N个字符 -w N:对每行第N个字符以后内容不做比较

操作如下:

uniq命令结合sort命令的几种用法。

4、一个简单案例:求两个文件的并集。

原始文件如下:

操作如下:

Linux系列:shell编程之文档操作(1)

[hadoop@image1 shell]$ cat a.txt b.txt | sort -r | uniq > c.txt [hadoop@image1 shell]$ cat c.txt g f e d c b a

解释如下:

我们对所查看内容,先试用“sort -r”做一个降序排序,然后使用“uniq”进行去重, 最后使用“>”重定向到c.txt中。 一个“>”代表覆盖原有内容。两个“>>”代表追加在原文件之后。 注意:交集,差集使用uniq中参数一样可以写出来。自己可以下去练练手。

5、cut命令功能:从一个文本文件或者文本流中提取文本列。

常用选项

-d:后面接分隔字符。与 -f 一起使用 -f:依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思 -c:按照字符截取 -b:按照字节截取

操作如下:

再举一个例子加深印象:

[hadoop@image1 shell]$ cat cut.txt 黄渤 huangbo 18 jiangxi 徐峥 xuzheng 22 hunan 王宝强 wangbaoqiang 44 liujiayao [hadoop@image1 shell]$ cut -d " " -f 1,3 cut.txt 黄渤 18 徐峥 22 王宝强 44

linux Shell

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Linux系列:shell编程之文档操作(2)
下一篇:tp6.0文档解析(简介+安装)
相关文章