TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码
/
注册
用户名
邮箱

Linux find|grep|sed命令基本语法

2022-05-13
/
0 评论
/
947 阅读
/
正在检测是否收录...
05/13

find命令

语法:

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression] [action]

说明:

path... 查找路径,可以指定多个,默认为当前路径
expression 查找的条件,包括根据文件名、类型、大小、修改时间等进行查找,默认查找当前路径所有文件
action: 处理动作,对符合条件的文件所做的操作,默认为显示到标准输出

查找条件:

-name 根据文件名查找, 支持glob,即包括: *,?,[],[^],来匹配文件名

例如:

find /etc/ -name passwd 精确查找
find /etc/ -name '*passwd*' 匹配查找
-iname 根据文件名查找,不区分大小写
-regex pattern 使用正则表达式来匹配文件(路径)

grep命令

1、在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行:grep test *file

2、以递归的方式查找符合条件的文件:grep -r test *

3、反向查找:grep -v test *

4、忽略大小写查找:grep -i test *

6、显示查询结果行号:grep -n test *

7、显示总共有多少行符合条件:grep -c test *

8、匹配符合条件上下文N行:grep -C N test *

9、只匹配单词:grep -w test *

10、查找并列出匹配的文件名:grep -l test *

11、查找并列出不匹配的文件名:grep -L test *

12、过滤带注释行或空行:grep -v '^#' * | grep -v '^$' *

sed命令

sed -i "s/查找字段/替换字段/g" 文件名
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
s表示替换,d表示删除

示例:sed -i "s/shan/hua/g" lishan.txt

把当前目录下lishan.txt里的shan都替换为hua

当字符串包含斜杠/时

// 使用不同的分隔符:
sed 's#Hello/World#Goodbye#' filename

// 转义斜杠:
sed 's/Hello\/World/Goodbye/' filename

替换字段包括子目录

sed -i 's/查找字段/替换字段/g' `grep -rl '查找字段' *`

补充:sed命令的其他用法如下

1、删除行首空格

sed 's/^[ ]*//g' filename
sed 's/^ *//g' filename
sed 's/^[[:space:]]*//g' filename

2、行后和行前添加新行

行后:sed 's/pattern/&\n/g' filename
行前:sed 's/pattern/\n&/g' filename
//&代表pattern

3、使用变量替换(使用双引号)

sed -e "s/$var1/$var2/g" filename

4、在第一行前插入文本

sed -i '1 i\插入字符串' filename

5、在最后一行插入

sed -i '$ a\插入字符串' filename

6、在匹配行前插入

sed -i '/pattern/ i "插入字符串"' filename

7、在匹配行后插入

sed -i '/pattern/ a "插入字符串"' filename

8、删除文本中空行和空格组成的行以及#号注释的行

grep -v ^# filename | sed /^[[:space:]]*$/d | sed /^$/d
经验Linuxgrepsedfind
朗读
赞(0)
版权属于:

至尊技术网

本文链接:

https://www.zzwws.cn/archives/6340/(转载时请注明本文出处及文章链接)

评论 (0)

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

最新回复

  1. 强强强
    2025-04-07
  2. jesse
    2025-01-16
  3. sowxkkxwwk
    2024-11-20
  4. zpzscldkea
    2024-11-20
  5. bruvoaaiju
    2024-11-14

标签云