文本处理与日志基础
Shell脚本与文本处理#文本处理#日志基础约 545 字 · 2 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
cat、less、head、tail 分别适合什么场景?
追问 为什么不建议直接用
cat 查看几个 GB 的日志?如何实时查看日志新增内容?
追问
tail -f 和 tail -F 有什么区别?日志轮转后应该关注什么?如何在日志中查找包含 error 的行,同时忽略大小写并显示行号?
追问 如何显示匹配行的前后上下文?如何排除包含某个关键词的行?
管道与重定向有什么区别?
追问
>、>>、2>、2>&1 分别表示什么?重定向顺序为什么会影响结果?Shell 中单引号、双引号和不加引号有什么区别?
追问 变量包含空格、通配符或换行时,不加引号可能导致什么问题?
环境变量与普通 Shell 变量有什么区别?
追问
export 有什么作用?PATH 如何影响命令查找?如何统计访问日志中访问次数最多的前 10 个 IP?
条件 日志第一列为客户端 IP。
追问
sort 和 uniq 的执行顺序为什么重要?如何用 awk 按字段筛选日志,并计算某个数值字段的总和?
追问 如何指定字段分隔符?如何处理包含表头的数据?
如何用 sed 替换配置文件中的指定内容?
追问 怎样先预览结果、保留备份,并避免误改注释或相似配置项?
编写一个检查服务状态的 Shell 脚本,应如何判断执行成功或失败?
追问
$?、退出码、条件判断有什么关系?使用管道时如何避免漏掉前面命令的失败?