find、grep、wc使用方法简单总结
来源:互联网 发布:php防止sql注入代码 编辑:程序博客网 时间:2024/04/19 03:04
简单总结一下,几个常用的linux命令。
一、find
用来查找特定文件,在linux下一切皆是文件,因此十分有用。
基本格式:find path expression [-exec command {} \;]
会默认遍历到子目录。
1、find /home/work/ -name "*.cpp"
查找/home/work/目录下,所有文件名以.cpp结尾的文件,当然目录也会匹配出来。
2、find /home/work/ -name -type f "*.cpp"
查找/home/work/目录下,所有文件名以.cpp结尾的普通文件。
3、find /home/work/ -iname "*.cpp"
-iname 表示忽略大小写,-name表示不忽略大小写,精确匹配。
4、find /home/work/ /etc/ /usr -name "*.cpp"
查找多个目录下的.cpp文件
扩展 : find /home/work/ /etc/ /usr -name "[ab].cpp" 查找a.cpp或者b.cpp文件
find /home/work/ /etc/ /usr -name "?.cpp" "?"表示任意一个字符
5、 find /home/work/ -size +20M
查找大于20M的文件,-20M表示小于20M
6、find /home/work -atime -5
查找5天内访问过的文件, +5 表示5天内没有访问过的文件。
扩展:用stat命令可以获得相关的时间戳。atime表示最近一次访问的时间,mtime表示最近一次内容修改的时间,ctime表示最近一次属性修改的时间,单位是天。amin, mmin,cmin单位是分钟。
7、find /home/work -atime -5 -a -size -1M
查找5天访问过的并且大小小于1M的文件。
-a 与连接 , -o 或连接, -not 条件取反
二、grep
用来匹配特定的文本行,全称是Global Regular Expr
基本格式: grep [OPTIONS] PATTERN [FILE...]
1、grep "hello" ./*
遍历当前目录下的所有文件,把含有"hello"的文本行的打印出来。
grep -r "hello" ./* 会遍历子目录。
2、其他参数控制
-i 匹配时,忽略大小写
-n 显示行号
-c 只显示匹配到的文本行总数
-l 只显示匹配到文本行的文件名
-v 显示没有匹配到的文本行,相当于取反操作。
三、wc
文本统计工具,全城word count。使用方法很简单。能将文件的行数、字数、字节数打印出来。
1、wc -l test.txt
统计test.txt中文本的行数。
2、wc -c test.txt
统计字节数
3、wc -w test.txt
统计字数,我所理解的字就是一个单词,单词都是又空格、tab键、换行符来分割的。
4、wc -m test.txt
统计字符数。这和字节数是有区别的,因为一个中文字符会占3个字节。
四、实例操作
1、统计/home/work/目录下所有以.txt结尾的文件个数(不包括目录)
find /home/work/ -type f -name "*.txt" | wc -l
2、删除/home/work/目录下所有以.txt结尾的文件
find /home/work/ -type f -name "*.txt" -exec rm -f {} \;
-exec 后面跟着执行动作,就是一个操作命令,即每查找到一个文件就执行rm -f 动作,{}就代表查找到的文件,\; 表示命令的结束。
注意,{}和\之间有空格。
也可以这样做:
find /home/work/ -type f -name "*.txt" | xargs rm -f
3、统计/home/work/当前目录下有多少普通文件(即不遍历子目录)
ls /home/work -l | grep '^-' |wc -l
-l 参数显示出文件的属性,开头为‘-’表示普通文件,从而排除目录,'^-'表示匹配开头为‘-’的字符串。
以上仅为简单总结,之后再继续补充。
- find、grep、wc使用方法简单总结
- alias、grep、wc、find、xargs
- linux之grep、find、wc
- grep 、find、xargs使用方法
- grep、find查找命令使用方法
- linux下的grep和find命令简单总结
- grep及find简单使用
- grep的一些使用方法总结
- wc命令 grep 命令
- 常用文本过滤命令笔记(find grep wc awk sed sort uniq split)
- Linux常用文本过滤命令(find grep wc awk sed sort uniq split)
- linux 常用命令 dd/ln/cat/echo/grep/tar/wc/find/xargs/ssh/scp/strace/strings
- sort,grep,cut,whereis,locate,which.find,wc常用命令的常用形式
- find和grep的简单应用举例
- find和grep的简单应用
- Linux命令 grep&sort&find&uniq 总结
- 关于 find grep xargs 命令总结
- ubuntu上find命令使用方法加grep运用
- Bootstrap的图片轮播示例代码
- Structure and inference in annotated networks - note
- SSH中主键生成策略
- 协同过滤算法python实现简单入门详细注释
- 2946: [Poi2000]公共串 二分+hash
- find、grep、wc使用方法简单总结
- hdu 2842 Chinese Rings(矩阵递推)
- VS2012 scanf()运行通不过的时候,提示需要使用scanf_s()的解决办法。
- 线程池与cp命令的实现
- Android 异常解决 content.ActivityNotFoundException: Unable to find explicit activity class
- Unity Notes之协程(Coroutine)简析
- 【LeetCode OJ 242】Valid Anagram
- 路漫漫其修远兮吾将上下而求索
- Vijos P1097 合并果子(优先队列 贪心)