博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux grep sed awk
阅读量:4930 次
发布时间:2019-06-11

本文共 1949 字,大约阅读时间需要 6 分钟。

$ grep ‘test’ d*显示所有以d开头的文件中包含 test的行。$ grep ‘test’ aa bb cc显示在aa,bb,cc文件中匹配test的行。$ grep ‘[a-z]\{5\}’ aa显示所有包含每个字符串至少有5个连续小写字符的字符串的行。$ grep ‘w\(es\)t.*\1′ aa如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着 另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用”\”号进行转义,直接写成’w(es)t.*\1′就可以了

不管当前路径是什么,如果想要在自己的根目录$HOME中查找文件名符合*.txt的文件,使用~作为 'pathname'参数,波浪号~代表了你的$HOME目录。

$ find ~ -name "*.txt" -print

想要在当前目录及子目录中查找所有的‘ *.txt’文件,可以用:

$ find . -name "*.txt" -print

想要的当前目录及子目录中查找文件名以一个大写字母开头的文件,可以用:

$ find . -name "[A-Z]*" -print

想要在/etc目录中查找文件名以host开头的文件,可以用:

$ find /etc -name "host*" -print

想要查找$HOME目录中的文件,可以用:

$ find ~ -name "*" -print 或find . -print

要想让系统高负荷运行,就从根目录开始查找所有的文件:

$ find / -name "*" -print

如果想在当前目录查找文件名以两个小写字母开头,跟着是两个数字,最后是.txt的文件,下面的命令就能够返回例如名为ax37.txt的文件:

$find . -name "[a-z][a-z][0-9][0-9].txt" -print

find命令的例子;

1、查找当前用户主目录下的所有文件:

下面两种方法都可以使用

$ find $HOME -print$ find ~ -print

2、让当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件;

$ find . -type f -perm 644 -exec ls -l {  } \;

3、为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径;

$ find / -type f -size 0 -exec ls -l {  } \;

4、查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们;

$ find /var/logs -type f -mtime +7 -ok rm {  } \;

5、为了查找系统中所有属于root组的文件;

$find . -group root -exec ls -l {  } \;

6、find命令将删除当目录中访问时间在7日以来、含有数字后缀的admin.log文件。

该命令只检查三位数字,所以相应文件的后缀不要超过999。先建几个admin.log*的文件 ,才能使用下面这个命令

$ find . -name "admin.log[0-9][0-9][0-9]" -atime -7  -ok rm {  } \;

7、为了查找当前文件系统中的所有目录并排序;

$ find . -type d | sort

和sed类似,pattern是正则表达式,actions是一系列操作。awk程序一行一行读出待处理文件,如果某一行与pattern匹配,或者满足condition条件,则执行相应的actions,如果一条awk命令只有actions部分,则actions作用于待处理文件的每一行。比如文件testfile的内容表示某商店的库存量:

ProductA  30ProductB  76ProductC  55

打印每一行的第二列:

$ awk '{print $2;}' testfile307655

自动变量$1、$2分别表示第一列、第二列等,类似于Shell脚本的位置参数,而$0表示整个当前行。再比如,如果某种产品的库存量低于75则在行末标注需要订货:

$ awk '$2<75 {printf "%s\t%s\n", $0, "REORDER";} $2>=75 {print $0;}' testfileProductA  30    REORDERProductB  76ProductC  55    REORDER
 
 

转载于:https://www.cnblogs.com/alamZ/p/7197641.html

你可能感兴趣的文章
Windows下Tesseract4.0识别与中文手写字体训练
查看>>
特征工程 —— 特征重要性排序(Random Forest)
查看>>
命名 —— 函数的命名
查看>>
常见矩阵求导
查看>>
Node.js第三天
查看>>
XML--概念、约束、解析
查看>>
Windows Azure 90天Free Trial (不含教程),已经可以支持中文简体与中文繁体了
查看>>
清空浏览器缓存
查看>>
Unity学习疑问记录之向量基础
查看>>
linux -- 嵌入式2.6.37wifi-vnt6656移植驱动
查看>>
ubuntu -- mf210v拨号流程
查看>>
Spring MVC概述
查看>>
bzoj1036 树的统计Count
查看>>
Give your laptop some gaming power
查看>>
JS 高级总结
查看>>
idea maven 集成多模块 module
查看>>
hibernate 三种状态的转换
查看>>
gradle 删除指定目录中的文件和目录
查看>>
《大道至简》第二章读后感
查看>>
系统右键菜单(级联菜单)资料--cascading menus
查看>>