正则表达式

 

正则表达式

文本文件的操作命令
cat、more 、less 、hard、 tail

正则表达式的命令
. 单一的字符  .* 任何一个字符
[abc]   当前位置有a、或b、或c   [^abc]   除了abc 以外的任意字符
^a  a开头的行 a& 以a结束的行
/< 以什么开头 /> 以什么结尾 ,表示的是单词
a* 任意多个a  a? 一个或二个a  a+ 相当于前面的合并
a/{n/}  a 重复了n次


对文本的操作
grep  less vim diff cut sort wc uniq
grep -R -l -v -A(数字) -B(数字)
grep -R centos  /etc  依次找出etc 下有带有 centos 的文件
grep -R -l centos /etc  只显示文件名
grep -R -l -v centos /etc 反向选择
grep -A1 -B4 centos /etc/passwd


cut -d 分隔符 -f列数1-3
cut -d: -f1 /etc/passwd 显示以:分割的第一段 /etc/passwd
cut -d: -f3 /etc/passwd |sort   显示第三段并sort 排序
cut -d: -f3 /etc/passwd |sort  -n 显示第三段并sort 排序,按照数字大小

sort -t 分隔符 -k 列 -n 排序
sort -t: -k 3 -n /etc/passwd  按照:分割,第三列排序

wc -l -w -c
wc /etc/passwd统计
35 54 1611
54 个单词 1611个字符 35 行
运用命令组合来完成复杂的任务

 

运用命令组合来完成复杂的任务

1、统计一个目录里面有多少的文件夹和文件、连接等。
ls | wc -l  查看有多少个文件夹包括文件
[root@localhost etc]# ls -l |grep '^d' |wc -l 查看目录并wc 多少个目录
[root@localhost etc]# ls -l |grep '^-' |wc -l  > test 查看多少个文件 并重定向

2、取出配置文件中的注释并保存为新文件

[root@localhost etc]# grep '^#' -v /root/inittab

[root@localhost etc]# grep '^#' -v /root/inittab > test.confs


[root@localhost samba]# grep -v '^;' smb.conf |grep -v '^#' 以#号;号开头的文件过滤掉
[root@localhost samba]# grep -v '^#' smb.conf |grep -v '^;'
[root@localhost samba]# cat smb.conf  |grep -v '^#' |grep -v '^;'
[root@localhost samba]# grep -v '^#' smb.conf |grep -v '^;' |grep -v '^$' 以#;开头的过滤掉,并把空格过滤掉
3、查找文件并删除
find 不支持正则表达式
locate 它支持,用它前使用updatedb更新数据库 还需要加-r 参数
-r 让它使用正则表达式

find -name ’a*d‘ -ok rm {}  /; 找出以a开头,以d结尾的文件 并rm,-ok 提示出来
find -name ‘a *d’ -exec rm {这没空格}  这里有个空格/;

 

     grep能找出带有关键字的行,但是工作中有时需要找出该行前后的行,下面是解释

  1. grep -A1 keyword filename

  找出filename中带有keyword的行,输出中除显示该行外,还显示之后的一行(After 1)

  2. grep -B1 keyword filename

  找出filename中带有keyword的行,输出中除显示该行外,还显示之前的一行(Before 1)

  3. grep -1 keyword filename

  找出filename中带有keyword的行,输出中除显示该行外,还显示之前的一行(After 1)和显示之后的一行(After 1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值