小知识:grep过滤以#号开头的注释行 和 空行

知识,grep,过滤,开头,注释,空行 · 浏览次数 : 220

小编点评

以下是使用 grep 命令过滤 xtt.properties 的内容: ``` grep -vE '^#|^$' xtt.properties ``` * `grep` 命令用于搜索文本中以 `#` 开头的所有行。 * `-v` flag 表示反向搜索,即只打印不匹配的文本。 * `^#|^$` 是正则表达式,表示匹配行首和行尾的字符。 使用该命令将打印所有以 `#` 开头的行,这些可能是注释或其他信息。 **示例:** ``` # xtts.properties oracle@db11gcas xtt$: # 注释 db_name=XE # another comment 13src_scratch_location=/u01/media/src_backups/dest_datafile_location=+DATADGdest_scratch_location=/xtts/parallel=3rollparallel=2getfileparallel=4destconnstr=sys/oracle@jingyuallowstandby=1 ```

正文

xtts的配置文件,有很多注释不想直接去掉的情况下,想清楚的看到目前设置了哪些参数,可以用grep过滤查看:
grep -vE '^#|^$' xtt.properties

效果如下:

[oracle@db11gcas xtt]$ grep -vE '^#|^$' xtt.properties
tablespaces=DBS_D_JINGYU, DBS_I_JINGYU
platformid=13
src_scratch_location=/u01/media/src_backups/
dest_datafile_location=+DATADG
dest_scratch_location=/xtts/
parallel=3
rollparallel=2
getfileparallel=4
destconnstr=sys/oracle@jingyu
allowstandby=1

简单来说,E是正则,v是反向匹配,^$ 是空行,^#是#开头的:

-E, --extended-regexp
Interpret PATTERN as an extended regular expression (ERE, see below). (-E is specified by POSIX.)

-v, --invert-match
Invert the sense of matching, to select non-matching lines. (-v is specified by POSIX.)

Anchoring
The caret ^ and the dollar sign $ are meta-characters that respectively match the empty string at the beginning and end of a line.

与小知识:grep过滤以#号开头的注释行 和 空行相似的内容:

小知识:grep过滤以#号开头的注释行 和 空行

xtts的配置文件,有很多注释不想直接去掉的情况下,想清楚的看到目前设置了哪些参数,可以用grep过滤查看: `grep -vE '^#|^$' xtt.properties` 效果如下: ```shell [oracle@db11gcas xtt]$ grep -vE '^#|^$' xtt.pr

小知识:什么叫做workaround?

技术人当遇到具体问题,能给出的各种解决方案,有一种类型叫做workaround,翻译过来通常为“应变方法”、“变通方法”; 其实这种方式通常是没有找到根本的解决方案,但是为了快速恢复业务而采用的一种巧妙规避/跳过的方式。 举个具体的例子:我有测试需求要在主库创建一个新的PDB: 1.创建新的PDB

小知识:SQL Monitor Report的使用

在上一篇 优化利器In-Memory开启和效果 中,提到的两个SQL对比,使用的是传统的dbms_xplan.display_cursor方式来查看执行计划,好处是文本输出的通用性强,基本信息也都有。 但如果大家参加过我们的RWP培训,就会发现O原厂强烈推荐大家使用的一个工具是 SQL Monito

小知识:IN和EXISTS的用法及效率验证

环境: Oracle 19.16 多租户架构 经常会在网上看到有人写exists和in的效率区别,其实在新版本的数据库中,是不存在这个问题的,优化器会自己判断选择最优的执行计划。 为了直观的说明,我在PDB中构造如下测试用例: vi 1.sql select count(*) from v$acti

小知识:使用errorstack定位特定问题

有客户遇到ORA-2289的报错,同事协助去现场排查,我帮着远程共同check下。 客户只是应用端报出的错误,为了进一步定位,服务端需要开errorstack协助定位具体问题。 下面就以这个ORA-2289为例,示范下errorstack的使用方法。 --开启errorstack alter sys

小知识:使用oracle用户查看RAC集群资源状态

正常情况按照标准配置的环境变量,只能grid用户查看RAC集群资源状态。 crsctl stat res -t 但是绝大部分操作其实都是oracle用户来操作,比如启停数据库,操作完成以后就需要检查下集群资源状态。 看到好多DBA在现场操作时就是来回各种切换或开多个窗口。 其实有两个简单的解决方法可

小知识:设置archive_lag_target参数强制日志切换

为客户测试一个ADG场景问题,发现测试环境的日志切换频率过低,总是需要定期手工切换,这非常影响测试心情。 实际上,可以设置archive_lag_target参数强制日志切换。 比如设置: alter system set archive_lag_target=1800; 这样即使库没任何压力,半小

小知识:开启NTP服务并设置为开机启动

我的一套测试环境发现时间慢了10分钟,影响我做各类测试。 首先就想到NTP服务,发现已安装NTP安装包,也有默认的NTP配置文件,只是没有启用。 用到的相关命令参考如下: ```shell [root@bogon ~]# vi /etc/ntp.conf systemctl status ntpd

小知识:PPT的幻灯片放映设置

最近给某客户讲课时,碰到了幻灯片自动翻页的情况,发现是因为之前做过粗略的计时演练,有些片子就快速过了。 **问题现象:** 结果导致放映时也出现了某些片子快速被自动翻页。 **解决方案:** 设置成手动推进幻灯片的方式即可解决,具体如下图所示: ![](https://img2023.cnblogs

[转帖]【网络小知识】之TCP IP 五元组(five-tuple/5-tuple)

为什么要分享TCP IP 5元组(five-tuple/5-tuple的知识? 最近在进行深度分析过程中,听到某些资深人士提到了5元组这个概念,觉得很高大尚,去搜索了一圈,发现都是些非常浅显的知识,对于tcp ip 5元组,7元组有什么用没有提及,也没有五元组的英文,导致英文资料检索过程中饶了一圈。