【Linux下字符串及文件处理 grep/find/awk/xargs】


【博客首发于微信公众号《漫谈芯片与编程》,欢迎专注一下,多谢大家】
Linux终端下常用的几个命令及选项来帮助提高工作效率;

1 grep

grep [选项] 'pattern' 文件...

1.1 常用选项

-I:用于排除grep中的二进制文件
-i:忽略大小写。
-r:递归搜索目录及其子目录。
-n:显示匹配行的行号。
-v:显示不匹配的行。
-l:只显示匹配的文件名,而不显示匹配的行。
-w:只匹配整个单词,而不是部分单词。
-E:使用扩展正则表达式。
-F:将模式视为固定字符串,而不是正则表达式。
-A: 显示匹配行之后的几行。
-B:显示匹配行之前的几行。
-C:显示匹配行前后各几行。
-c: 统计所有每个文件匹配的行数;–不好用,实际用处不大;
-a:将二进制文件视为文本文件进行搜索
–color=auto: 高亮显示该字符串;一般常用:alias grep ‘grep --color=auto’
–exclude: 排除特定文件。
–exclude-dir 排除特定目录。

个人对我来说最常用的就是:grep -Inr “pattern”

1.2 常见用法demo

# 1 在文件中基本查找
grep "pattern" file.txt
# 2 递归搜索目录中的所有文件
grep -r "pattern" directory/
# 3 忽略大小写
grep -i "pattern" file.txt
# 4 显示匹配的行号:
grep -n "pattern" file.txt
# 5 显示不匹配的行
grep -v "pattern" file.txt
# 6 只显示匹配的文件名
grep -l "pattern" file.txt
# 7 使用扩展正则表达式
grep -E "pattern1|pattern2" file.txt
# 8 将pattern看为固定字符串
grep -F "pattern" file.txt
# 9 统计匹配行数
grep -c 'pattern' filename.txt
# 10 高亮显示该字符串
grep --color=auto 'pattern' filename.txt
# 11 匹配整个单词
grep -w 'word' filename.txt
# 12 排除特定文件
grep -r --exclude='*.log' 'pattern' 
# 13 排除特定目录
grep -r --exclude-dir={
   
   dir1,dir2} 'pattern' /path/to/directory/
# 14 搜素匹配并显示之后几行
grep -A 3 'pattern' filename.txt
grep -B 3 'pattern' filename.txt
grep -C 3 'pattern' filename.txt

2 find

find [路径] [选项] [表达式]

2.1 常用选项

-name:按文件名搜索。
-type:按文件类型搜索(如 f 表示普通文件,d 表示目录)。
-size:按文件大小搜索(如 +10M 表示大于10MB的文件)。
-mtime:按文件修改时间搜索(如 -5 表示5天内修改过的文件)。
-exec:对搜索到的文件执行指定的命令。

2.2 常见用法demo

# 1 按文件名搜索
find ./ -name "filename.txt"
find ./ -iname "filename.txt" # 忽略大小写文件名
# 2 按文件类型搜素
find ./ -type f # 仅搜索文件
find ./ -type d # 仅搜素目录
find ./ -type l # 仅搜素符号链接
# 3 按文件大小搜素
find ./ -size +10M
find ./ -size -1k
# 4 按文件修改时间搜索
find ./ -mtime -5
find ./ -mtime +30
# 5 按文件权限模式搜索
find ./ -perm /644
# 6 按用户名搜素
find ./ -user username
find ./ -group groupname


#!/bin/bash

# 查找并打印所有 .txt 文件
echo 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值