Linux 命令合集(二):查看文件及内容处理命令

Linux 命令合集(二):查看文件及内容处理命令,第1张

例1: cat -n:对所有行进行编号

:例2. cat -b:对所有非空行进行编号

例4.cat >cat.log<<EOF:将标准输入的内容写入到文件中;输入EOF结束

例一:显示文件的前五个字符

例二:不显示符合条件的列

例:按1M大小分割文件并指定分割后的文件名

例一:

例二:

例:忽略每行开始处的空白字符,对第二域按数字大小进行排序

正则表达式

grep支持的字符和字符集合

例一:显示meminfo文件中以不区分大小的s开头的行

例二:显示/etc/passwd中,以r开头的字符而后跟了任意单个字符的行

例四:显示/etc/passwd中,r后跟了o,o只出现2次的行

例五:显示meminfo文件中以一个数字开头并以一个与开头数字相同的数字结尾的行

例六:匹配ABC类IP地址即 1.0.0.1---223.255.255.254

例七:匹配手机号码:手机号码是1[3|4|5|8]后面接9位数字的

例一:将大写字符转换为小写字符

例二:删除指定范围的字符

例三:删除指定范围字符的补集

 more(less):分页显示文件内容

 head(tail):显示文件内容头部

 join:将两个文件中,制定栏位内容相同的行连接起来

 iconv:转换文件编码格式

 dos2unix:将dos文件格式转换为Unix格式

 diff(vimdiff):比较文件差异

 rev:反向输出文件内容

find,用于在文件树中查找文件并作相应的处理

-name:按照文件名查找文件

-perm:按照文件权限查找文件

-user:按照文件属主来查找文件

-size:按照指定的文件大小查找文件【+n:大于,-n:小于,n:等于】

-group:按照文件所属的组来查找文件

-mtime<-n><+n>:按照文件更改时间来查找文件,-n表示n天之内,+n表示n天以前

-newer file1 file2:查找更改时间在file1和file2之间的文件

例如:

find -mtime -2:查找48小时修改过的文件

find -name ".log":查找当前目录以".log"结尾的文件

find /opt/soft/test -perm 777:查找指定目录下权限为777的文件

find -type f -name "*.log":查找当前目录下以".log"结尾的普通文件

find -type d | sort:查找当前所有目标目录并排序

find /home/wansw -size +20M:查找大于20M的文件

locate指令,可以快速定位文件路径,利用事先建立的系统中的所有文件名称和路径的locate数据库,无需遍历整个文件系统,查询速度较快,为了保证查询准确性,需要定期更新。《Linux就该这么学》

updatedb:第一次运行前,创建locate数据库

grep,用于过滤/搜索指定字符串。可以使用正则表达式,能配合多种命令使用。

用法:grep 【选项】 查找内容 源文件

-A:显示符合的行及之后的内容

-B:显示符合的行及之前的内容

-C:显示符合的行及前后的内容

-c:计算符合的行数目

-n:显示匹配行和行号

-i:忽略大小写

规则表达式

:'grep'表示匹配所有以grep开头的行

'表示匹配所有以grep结尾的行

.:'gr.p'表示匹配'gr'后面接任意字符然后是'p'

:'grep'表示匹配一个或多个空格后紧跟grep的行

[]:[Gg]rep表示匹配Grep与grep

[]:[A-FH-Z]rep表示匹配不以A-F、H-Z开头并紧跟rep的行

例如(grep命令大多数时候多要和别的命令一起使用才有意义):

ps -ef | grep -c SVN:查找指定的进程的个数

cat test.txt | grep -f test2.txt:从text2.txt中读取关键字后在test.txt中搜索

cat test.txt | grep nf text2.txt:从text2.txt中读取关键字后在text.txt中搜索并显示行号

grep 'linux' text.txt test2.txt:从多个文件中搜索关键字'linux'

cat test.txt | grep -E 'ed|at':显示包含ed或at的行

Linux查找文件内容的常用命令方法。

从文件内容查找匹配指定字符串的行:

$ grep "被查找的字符串" 文件名

例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件

grep "thermcontact" */*.in

从文件内容查找与正则表达式匹配的行:

$ grep –e “正则表达式” 文件名

查找时不区分大小写:

$ grep –i "被查找的字符串" 文件名

查找匹配的行数:

$ grep -c "被查找的字符串" 文件名

从文件内容查找不匹配指定字符串的行:

$ grep –v "被查找的字符串" 文件名

从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行

find / -type f -name "*.log" | xargs grep "ERROR"

例子:从当前目录开始查找所有扩展名为.in的文本文件,并找出包含”thermcontact”的行

find . -name "*.in" | xargs grep "thermcontact"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8476863.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存