sed 检查 Oracle日志 并输出对应的行号
在护网的时候可能需要定期检查日志文件,特别是日志文件中的错误信息,在 alert 日志中常见的报错一般都是 Error、ORA-、TNS- 为前缀的信息。我们可以利用 sed 工具检索日志文件中的信息,减少重复工作。 可以利用一下语句过滤错误信息: ## 一般来说 alert 日志的路径为 ## ${ORACLE_BASE}/diag/rdbms/${ORACLE_SID}/${ORACL...
在护网的时候可能需要定期检查日志文件,特别是日志文件中的错误信息,在 alert 日志中常见的报错一般都是 Error、ORA-、TNS- 为前缀的信息。我们可以利用 sed 工具检索日志文件中的信息,减少重复工作。 可以利用一下语句过滤错误信息: ## 一般来说 alert 日志的路径为 ## ${ORACLE_BASE}/diag/rdbms/${ORACLE_SID}/${ORACL...
记录一些 vim/nvim 的特殊字符含义,持续更新。 正则表达式中的特殊字符 这类符号的完整列表可参考文档 :help ordinary-atom 符号 含义 备注 . 任意字符,但是不包括行尾 ^ 行首 ...
交替(alternation)操作起到的是“或”的作用,比如,carrot\|parrot 同时匹配 carrot和parrot 分组(grouping)用于将多个字符放在一个组里,这样做有两个好处。首先,分组可以与其他正则表达式组合使用,比如 \(c\|p\)arrot 是一种同时匹配 carrot 和 parrot 的更精准的方式。有的时候用于交换(替换)两个字符的位置十分有用 ...
在 Linux 中处理文本除了利用 sed、awk、sort、uniq 等工具对文件排序去重,还可以直接使用 vim/nvim 自带的 sort 命令对文件排序去重。虽然功能可能不如外部工具,但是处理一些基本逻辑是没问题的,重要的是可以在此基础上直接处理过滤之后的内容。 :%sort :%sort:对整个文件的所有行进行排序,对所有行进行排序,排序后相同的行将会相邻。 :%sort u...
有的时候文本内容太多,我们只需要查看满足条件的内容,虽然可以通过 CTRL-g 、n、N 等快速跳转,但是我们可能只需要查看满足条件的内容,例如在排查错误日志的时候,我们只需要查看满足 err1 的错误信息,但是日志中有太多额外的内容,这个时候可以通过 sed 、awk 、grep 等文本工具过滤处理。但是使用 vim/nvim 也可以实现,而且更加方便查看。 可以使用以下几种方法来搜索关...
有的时候因为存储空间不足,特别是将生产的数据导入到测试环境,测试环境的空间可能有限。导入的时候可能文件不能放在一个路径下,这个时候就需要使用多个目录,比如 dmp1、dmp2 放在目录 d1 ,其余的文件放在 d2 。 在使用 expdp/impdp 的时候只能通过 DIRECTORY 指定一个目录,但是可以通过选项 DUMPFILE 指定多个文件,文件可以在不同的路径下,以次达到同时使...
内核参数 vm.swappiness 控制系统运行时使用交换内存的相对权重,参数值大小对如何使用swap分区有很大联系。值越大,表示越积极使用swap分区,越小表示越积极使用物理内存。默认值 swappiness=60,表示内存使用率超过 40% 时开始使用交换分区。swappiness=0 的时候表示最大限度使用物理内存,无法分配物理内存的时候才考虑使用 swap 空间;swappine...
有的时候想删除两个字符串之间的所有内容,但是涉及多行,虽然 sed 和 awk 也可以实现,但是既然使用 vim/nvim 了,也可以直接使用 vim/nvim 实现。 在 Vim 中要匹配两段文本之间的所有内容,包括跨越多行的内容,可以使用正则表达式配合 \_.* 的特殊语法。\_.* 可以匹配任意字符(包括换行符)直到结束条件。 1. 基本匹配方式 假设你想匹配从 aaa 到 bbb...
Linux 下的 awk 功能十分强大,擅长按照字段列处理文本,另一个工具 sed 则擅长用于行处理。 有的时候需要按照过滤筛选之后文本的文本求和,一般的方法就是通过 bc 或者复制粘贴到 excel 中处理,也可以使用 awk 处理。 指定分隔符 : -F|-IFS 选项用于指定分隔符,默认为空格,如果存在特殊字符记得使用单引号或者转义符 内部变量 : awk 中存在部分内部...
let 和 set 区别 在Vim中,let命令用于赋值操作,它可以用于设置变量、选项、寄存器和环境变量的值。与set命令相比,let的主要区别在于它不仅可以用于设置选项,还可以用于设置变量、寄存器和环境变量。此外,let命令的右侧是一个表达式,这意味着你可以在赋值操作中使用表达式的结果。这使得let命令在Vim脚本中非常灵活,可以用于更复杂的操作,如数学运算、字符串操作和函数调用。 在 ...