栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

文件处理工具

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

文件处理工具

1. grep 过滤

grep 匹配文件 过滤文件

-i 过滤时忽略大小写

当过滤两个元素 1或2 时 使用egrep egrep=grep-E

grep -E “/

grep -E “linux/>” 文件名称 表示linux之后不能有字符

grep -数字 显示过滤行及过滤行上面或下面几行

grep -n 显示匹配的行所在的行号

grep -A 显示过滤行以及下面的几行

grep -B 显示过滤行以及上面几行

grep -v 反向过滤

grep字符数量匹配规则

^westos 以westos开头的行

westos$ 以westos结尾的行

w....s 中间有4个字符

.....s 前面有5个字符

* 任意字符 在使用时用()来区分单词内字符

? 0到1个字符

{n} n次

{m,n} m到n此

{,n} 0到n次

{m,} 最少m次

(es){2} es最少出现两次

2.sed

sed  参数  命令  处理对象

sed  参数  处理对象 -f  处理规则文件

对字符的处理

p  显示

sed -n 5p westos 显示第5行

sed -n 1,5p westos 显示第1到第5行

sed -ne “3p;5p”  显示三行和五行

sed -ne 1,5p  显示1到5行

sed -ne  5p,$p  显示5行到最后一行

sed -n‘/^#/p  显示以#开头的行

d  删除

  sed '/^#/d' fstab  以#开头的删除

  sed   '/^#/!d'   fstab  除了以#开头的都删除

sed  '1,$5d' fstab   删除1到5行

a  添加

sed -e ’$a hello word‘ fstab   在最后一行添加文本hello word     n  换行符

 sed '2ahello word' file1   在第二行后面添加文本

sed  '/^#/a hello world' file1   在#后面的行添加文本

c  替换

sed ’/hello word/chello linux‘   file1  把含有hello word的行替换成hello linux

sed '5chello world' file1   把第五行替换成hello word  

i 插入

sed '5ichello world' file1    在第五行插入hello  word

w   把符合的行写到指定文件中

sed '/^hello/w file1' file   把file1 中以hello 开头的行写到file中

r  整合

sed  file file1  把file文件整合到file1文件中

sed ’2rfile‘ file1  吧file中的文件整合到file1文件第二行下面

sed ’/hello linux/file‘  file1   把file文件的内容整合到file1文件中hello linux 行下面

sed  字符替换

 3.awk  报告生成器

awk -F : 'BEGIN{print "start"}{print $1,$7}END{print “end”}' passwd      从start开始显示  以end结束  挑选出1和7列的信息

awk -F : 'BEGIN{print "start"}{print NF}' passwd     NF  显示每行的列数

awk -F : 'BEGIN{print "start"}{print NR}' passwd    NR 显示每行的行号

awk -F : '/bash/{print $1}' passwd   打印含有bash的行的第一列

awk -F : '/bash|nologin/{print $1}' passwd   打印含有bash或nologin的行的第一列   单个元素

awk -F : '/^root/||/bash/{print $1}' passwd   这个表示的是以root开头的或者以bash结尾的行显示第一列    多个条件

awk -F : '/^root/&&/bash/{print $1}' passwd   这个表示的是以root开头的并且以bash结尾的行显示第一列  多个条件

awk -F : '!/^root/||/bash/{print $1}' passwd   表示不已root开头或者以bash结尾的行显示i第一列

awk -F : '!/^root/&&/bash/{print $1}' passwd   表示不已root揩油并且以bash结尾的行显示第一列

awk -F : '$1~/^root/{print $1}' passwd  只显示第一行不以root开头的行显示第一列

 示例

要求

统计在系统中能su切换的并且用户加目录不在/home下的用户数量

awk -F : '!/home/&&/bash/{print $1}' /etc/passwd    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/941267.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号