访问手机版  

Linux常用命令|Linux培训学习|考试认证|工资待遇与招聘,认准超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux常用命令

linux 文本处理常用命令

时间:2019-08-11

常用dos命令大全及其用法_linux常用命令_常用linux命令

介绍Linux下使用Shell处理文本时最常用的工具:

find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk;

提供的例子和参数都是最常用和最为实用的;

我对shell脚本使用的原则是命令单行书写,尽量不要超过2行;

如果有更为复杂的任务需求linux常用命令,还是考虑python吧;

查找txt和pdf文件

1

find.\(-name"*.txt"-o-name"*.pdf"\)-print

正则方式查找.txt和pdf

??find?.?-regex??".*\(\.txt|\.pdf\)$"

-iregex: 忽略大小写的正则

否定参数

查找所有非txt文本

???find?.?!?-name?"*.txt"?-print

指定搜索深度

打印出当前目录的文件(深度为1)

??find?.?-maxdepth?1?-type?f

按类型搜索:

??find?.?-type?d?-print??//只列出所有目录

-type f 文件 / l 符号链接

按时间搜索:

-atime 访问时间 (单位是天,分钟单位则是-amin,以下类似)

-mtime 修改时间 (内容被修改)

-ctime 变化时间 (元数据或权限变化)

最近7天被访问过的所有文件:

??find?.?-atime?7?-type?f?-print

按大小搜索:

linux常用命令_常用linux命令_常用dos命令大全及其用法

w字 k M G

寻找大于2k的文件

??find?.?-type?f?-size?+2k

按权限查找:

??find?.?-type?f?-perm?644?-print?//找具有可执行权限的所有文件

按用户查找:

??find?.?-type?f?-user?weber?-print//?找用户weber所拥有的文件

删除:

删除当前目录下所有的swp文件:

??find?.?-type?f?-name?"*.swp"?-delete

执行动作(强大的exec)

??find?.?-type?f?-user?root?-exec?chown?weber?{}?\;?//将当前目录下的所有权变更为weber

注:{}是一个特殊的字符串,对于每一个匹配的文件,{}会被替换成相应的文件名;

eg:将找到的文件全都copy到另一个目录:

??find?.?-type?f?-mtime?+10?-name?"*.txt"?-exec?cp?{}?OLD?\;

结合多个命令

tips: 如果需要后续执行多个命令,可以将多个命令写成一个脚本。然后 -exec 调用时执行脚本即可;

??-exec?./commands.sh?{}?\;

默认使用'\n'作为文件的定界符;

-print0 使用'\0'作为文件的定界符,这样就可以搜索包含空格的文件;

grep match_patten file // 默认访问匹配行

常用参数

-o 只输出匹配的文本行VS-v 只输出没有匹配的文本行

-c 统计文件中包含文本的次数

??grep?-c?"text"?filename

-n 打印匹配的行号

-i 搜索时忽略大小写

常用linux命令_常用dos命令大全及其用法_linux常用命令

-l 只打印文件名

在多级目录中对文本递归搜索(程序员搜代码的最爱):

??grep?"class"?.?-R?-n

匹配多个模式

??grep?-e?"class"?-e?"vitural"?file

grep输出以\0作为结尾符的文件名:(-z)

??grep?"test"?file*?-lZ|?xargs?-0?rm

xargs 能够将输入数据转化为特定命令的命令行参数;这样,可以配合很多命令来组合使用。比如greplinux常用命令,比如find;