shell-小工具

1.grep工具
grep是行过滤工具;用于根据关键字进行行过滤

语法和选项

语法:

grep [选项] ‘关键字’ 文件名

常见选项

-i:不区分大小写
匹配:^root 以root开头的行;bash$ 以bash结尾的行
-n:显示行号
-v:查找不包含指定内容的行,反向选择(不以root行开头的行打印 ‘… grep -v ^root’ passwd)
-w:按单次搜索
-o:打印匹配关键字
-c:统计匹配到的次数
-r:逐层遍历目录查找
-A:显示匹配行的后几行
-B:显示匹配行的前几行 (-B 3:前3行)
-C:显示匹配行的前后几行(上下文)
-l:只列出匹配的文件名
-L:列出不匹配的文件名
-e:使用正则匹配
--color=auto:可以将找到的关键词部分加上颜色的显示

颜色显示(别名设置):

临时设置:alias grep=‘grep 行--color=auto’

2.cut 选项 文件名(列截取)

常见选项

-c:义字符为单位进行分割,截取
-d:自定义分割符,默认为制表符\t
-f: 以-d一起使用,指定截取那个区域

举例说明:

cut -d:-f1 1.txt 以:冒号分割,截取第1列内容
cut -d:-f1,6,7 1.txt 以:冒号分割,截取第1,6,7列内容

runlevel运行级别

3.sort工具

sort工具用于排序,将问件的每一行作为一个单位,从首字符向后,一次按ASCLL码值进行比较,最后按升序输出。

常用选项

-u:去重复行
-r:降序排列
-o:将排序结果输出到文件中,类似重定向符号>
-n:以数字排序,默认时按字符排序
-t:分隔符
-k:第N行
-b:忽略前导空格。
-R:随机排序,每次运行的结果均不同

4.uniq工具(连续的重复行)

uniq用于去除连续的重复行

常用选项

-i:忽略大小写
-c:统计重复行次数
-d:只显示重复行

5.tee工具

tee工具是从标准输入读取并写入到标准输出和文件,即:双向覆盖重定向(屏幕输出|文本输入)

常用选项

-a:双向追加重定向
例如:屏幕打印hello world 并在写入文件
echo hell world|tee 1.txt
echo KKK|tee 1.txt(kkk的值会覆盖hello world)

6.diff工具

diff工具用于逐行比较文件的不同
注意:diff描述两个文件不同的方式是告诉我们怎么改变第一个文件之后与第二个文件匹配

语法和选项
语法

diff [选项] 文件1 文件2

选项

-b:不检查空格
-B:不检查空白行
-i:不检查大小写
-w:忽略所有的空格
-normal:正常格式显示(默认)
-c:上下文格式显示
-u:合并格式显示

7.paste工具

paste工具用于合并文件行

常用选项:

-d:自定义间隔符,默认tab
-s:串行处理,非并行

8.tr工具

tr用于字符转换,替换和删除,主要用于删除文件中控制字符或进行字符转换

常用选项

-d 删除要替换的字符
-s 压缩 (-s ‘ ’将多余空格压缩成一个)
例如:将1.txtcat文件中小写字母替换成大写
tr ‘a-z’ ‘A-Z’ <1.txt


例子.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。