搞定 Linux Shell 文本处理工具,看完这篇集锦就够了
| 副标题[/!--empirenews.page--] 
 Linux Shell是一种基本功,由于怪异的语法加之较差的可读性,通常被Python等脚本代替。既然是基本功,那就需要掌握,毕竟学习Shell脚本的过程中,还是能了解到很多Linux系统的内容。 Linux脚本大师不是人人都可以达到的,但是用一些简单的Shell实现一些常见的基本功能还是很有必要的。 下面我介绍Linux下使用Shell处理文本时最常用的工具: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子和参数都是最常用和最为实用的; 我对shell脚本使用的原则是命令单行书写,尽量不要超过2行; 如果有更为复杂的任务需求,还是考虑python吧; 1、find 文件查找 查找txt和pdf文件 
 正则方式查找.txt和pdf 
 -iregex:忽略大小写的正则 否定参数 查找所有非txt文本 
 指定搜索深度 打印出当前目录的文件(深度为1) 
 定制搜索 按类型搜索: 
 -type f 文件 / l 符号链接 按时间搜索: -atime 访问时间 (单位是天,分钟单位则是-amin,以下类似) -mtime 修改时间 (内容被修改) -ctime 变化时间 (元数据或权限变化) 最近7天被访问过的所有文件: 
 按大小搜索: w字 k M G 寻找大于2k的文件 
 按权限查找: 
 按用户查找: 
 找到后的后续动作 删除: 删除当前目录下所有的swp文件: 
 执行动作(强大的exec) 
 注:{}是一个特殊的字符串,对于每一个匹配的文件,{}会被替换成相应的文件名; eg:将找到的文件全都copy到另一个目录: 
 结合多个命令 tips: 如果需要后续执行多个命令,可以将多个命令写成一个脚本。然后 -exec 调用时执行脚本即可; 
 -print的定界符 默认使用' '作为文件的定界符; -print0 使用''作为文件的定界符,这样就可以搜索包含空格的文件; 2、grep 文本搜索 
 常用参数 -o 只输出匹配的文本行 VS -v 只输出没有匹配的文本行 -c 统计文件中包含文本的次数 
 -n 打印匹配的行号 -i 搜索时忽略大小写 -l 只打印文件名 在多级目录中对文本递归搜索(程序员搜代码的最爱): 
 匹配多个模式 
 grep输出以作为结尾符的文件名:(-z) 
 3、xargs 命令行参数转换 xargs 能够将输入数据转化为特定命令的命令行参数;这样,可以配合很多命令来组合使用。比如grep,比如find; 将多行输出转化为单行输出 
 是多行文本间的定界符 将单行转化为多行输出 
 -n:指定每行显示的字段数 xargs参数说明 -d 定义定界符 (默认为空格 多行的定界符为 ) -n 指定输出为多行 -I {} 指定替换字符串,这个字符串在xargs扩展时会被替换掉,用于待执行的命令需要多个参数时 eg: 
 -0:指定为输入定界符 (编辑:宣城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 


