Shell文本处理(一)





文本处理是Shell中的一个重要领域,它允许你从文本数据中提取有用的信息,执行搜索、替换、格式化和过滤等操作。这对于日志分析、数据清洗、配置文件管理等任务非常有用

Shell中常用的文本处理工具有:catfindgrepsedawksortuniqtrcutpastewc

1、cat指令


cat(Concatenate)指令主要用于查看文件内容或将多个文件连接并打印到标准输出设备上

cat指令的功能包括但不限于:

  • 查看文件内容cat file将指定文件的内容输出到终端上
  • 连接/合并文件cat file1 file2file1file2的内容连接起来,并将结果输出到终端上

cat指令的语法格式如下:

cat [选项] 文件列表

常用选项如下:

  • -n:显示行号(在输出的每行前面添加行号)
  • -b:显示行号(只在非空行前面添加行号)
  • -s:当有多个连续空行时,只显示一个空行

以下是一些示例:

# 显示文件内容,并在每行前面添加行号
cat -n file.txt
# 将file1和file2的内容合并输出到file3中
cat file1.txt file2.txt > file3.txt

2、find指令


find指令主要用于在指定目录下递归查找文件和目录,它可以使用不同的选项来过滤和限制查找结果

find指令的语法格式如下:

find [路径] [选项] [动作]
  • 路径:要查找的目录路径,多个路径之间用空格分隔,默认为当前目录
  • 选项:常用选项及其匹配条件如下:
    • -name pattern:按文件名查找,支持使用通配符*?,默认区分大小写,忽略大小写使用-iname
    • -type type:按类型查找,包括f(普通文件)、d(目录)等
    • -maxdepth depth:指定查找深度,默认递归查找
    • -regex regex:指定正则查找,默认区分大小写,忽略大小写使用-iregex
    • -size size:按文件大小查找,+/-表示大于或小于指定大小,单位包括k(KB)、M(MB)或 G(GB)等
    • -perm perm:按权限查找,例如755权限
  • 动作:筛选匹配到的文件执行过的操作,例如n分钟内被修改过

以下是一些示例:

# 按类型查找:递归查找指定目录下的所有文件
find 目录 -type f
# 按文件名查找:递归查找指定目录下的所有.txt文件
find 目录 -type f -name "*.txt"
# 按文件名查找(忽略大小写)
find 目录 -type f -iname file.txt
# 查找指定目录下的所有非file.txt文件
find 目录 -type f ! -iname file.txt
# 指定搜索深度查找
find 目录 -maxdepth 1 -type f
# regex正则查找,iregex忽略大小写正则查找
find 目录 -maxdepth 1 -iregex ".*\(\.txt\|\.log\)$"
# 按文件大小查找:递归查找指定目录下大于1M的文件(小于1M:-1M,等于1M:1M)
find 目录 -type f -size +1M
# 按权限查找:递归查找指定目录下755权限的文件
find 目录 -type f -perm 755
# 查找最近7天被修改过的文件
find 目录 -type f -mtime -7

3、grep指令


grep(Global Regular Expression Print)指令是一个强大的文本搜索工具,它可以使用正则表达式来搜索匹配的行

grep指令的语法格式如下:

grep [选项] pattern 文件列表
  • pattern:要查找的字符串或正则表达式
  • <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值