Linux:find grep sed查找命令
来源:互联网 发布:蜜蜡怎么优化 编辑:程序博客网 时间:2024/05/22 10:48
find:
命令主要为对文件的查找以及部分操作,下面介绍一下常用参数的使用
find [路径地址] -name '[文件名(支持文件通配符和正则表达式)]'
当前目录下查找以test开头的文件;
# find . -name 'test*' ./test1 ./test
查找以大写开头数字加后缀结尾的文件可使用正则表达式;
# find . -name '[A-Z]*[1-9].txt' ./Atest2.txt
find -perm 按照 文件权限查找文件,建议使用8进制表示法
# find . -perm 644 | xargs ls -l -rw-r--r--. 1 root root 0 Apr 20 00:14 ./Atest2.txt -rw-r--r--. 1 root root 1485 Apr 19 19:27 ./test -rw-r--r--. 1 root root 0 Apr 19 23:44 ./test2/test -rw-r--r--. 1 root root 1485 Apr 19 23:43 ./test2/test2
ps:xargs 将上一命令的结果作为下一命令的参数并返回结果
find -exec 可以对所搜索的文件操作 比如大量删除同名文件
# find . -name '[A-Z]*' -print -exec rm -f {} \; ./Atest2.txtps:‘{}’ 指前面find所搜索到的文件‘\’转义分号。
find -path -prune 常用来搜索时忽略某个已知目录
# find . -name 'test' -path "test4" -prune -o -print . ./test2 ./test
-path "test" -prune -o -print 是 -path "test" -a -prune -o -print 的简写表达式按顺序求值, -a 和 -o 都是短路求值,与 shell 的 && 和 || 类似如果
-path "test" 为真,则求值 -prune , -prune 返回真,与逻辑表达式为真;否则不求值 -prune,与逻辑表达式为假。如果 -path "test" -a -prune 为假,则求值 -print ,-print返回真,或逻辑表达式为真;否则不求值 -print,或逻辑表达式为真。
grep:
全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户;grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来,用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用。
命令格式:
grep[参数] '查找内容' [文件名]
参数:
-r 查找当前目录及子目录
-n 显示行数
-c 匹配次数
-i 不区分大小写
-v 不显示包含查找内容的行
-A n 显示匹配行上n行(共n+1行)
-B n 显示匹配行下n行(共n+1行)
-C n 显示匹配行上及下n行(共2n+1行)
# cat test | grep -n -C 3 '^root' --color 1:root:x:0:0:root:/root:/bin/bash 2-bin:x:1:1:bin:/bin:/sbin/nologin 3-daemon:x:2:2:daemon:/sbin:/sbin/nologin 4-adm:x:3:4:adm:/var/adm:/sbin/nologin
sed:
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作。
set [nefri] 操作n1,n2[] 文件
参数 -n 默认输出全部资料 加上-n参数后仅输出被处理行
-e 直接在指令行模式进行编辑
-f 将命令写入文件 -f [文件名]即可执行文件内指令
-r sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
-i 直接修改文件内容不输出
操作 a 新增,a后可跟字符串,这些字符会在当前行下一行出现
c 取代,c后字符串可以替换n1行到n2行之间所有内容
d 删除,删除n1-n2行内容
i 插入,c后字符串可插入到当前行上一行
p 列印,将某个数据打印,常与参数-n同用
s 取代,可直接进行取代工作
删除某行
# sed '2,5d' test #删除2-5# sed '2,$d' test #删除2-最后一行# sed '/root/d' test #查找包含root字符的数据行并删除
显示某行
#sed -n '1,2p' test #显示1-2行#sed -n '1p' test #显示第一行</span></span>
查找字符
# sed -n '/mysql/p' test #查找包含mysql的数据行
插入
# sed -n '2a qwe' test #第二行下插入# sed -n '2i qwe' test #第二行上插入
取代
# sed -n '/root/{s/root/boom/;p}' test #把root字符换成boom并输出
- Linux:find grep sed查找命令
- linux查找命令、find、grep
- 《Linux命令、编辑器与Shell编程》读书笔记4.1-查找和筛选工具(grep,find,sed)
- linux学习笔记:三剑客:grep+awk+sed;find和几种文件查找命令
- linux find grep 查找文件命令
- linux 命令之 查找 find & grep
- linux常用find,grep查找命令搜集
- linux 查找命令find和grep使用
- Linux查找命令Find和Grep
- Linux 命令find,tar,ps,grep,sed,awk
- Linux下find、awk、sed、grep命令的例子
- linux 查找 -- find | grep
- 查找命令 grep、 find 命令
- Linux命令之查找文件、文件查找-find,grep
- Linux下find命令和grep命令查找文件
- grep、find查找命令使用方法
- linux grep find 命令
- Linux grep & find 命令
- App架构设计经验谈:接口的设计
- Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK fla
- java启动tomcat报错问题
- 《JS权威指南》学习笔记(五):数组
- HashMap源码分析
- Linux:find grep sed查找命令
- 深入浅出JMS(二)--ActiveMQ简单介绍以及安装
- jd-gui的eclipse插件安装和使用
- Spring 注解的使用 @ResponseBody,@RequestBody
- IMX6 理解Android编译命令
- cmd中的call,start,以及直接调用bat文件的区别
- Android微信支付
- Linux-常用命令例子
- 【Windows】【Scala + Spark】【Eclipse】单机开发环境搭建 - 及示例程序