linux正则表达式 ^[[:space:]]*$ 应该怎么理解,麻烦详细说明一下

linux正则表达式 ^[[:space:]]*$ 应该怎么理解,麻烦详细说明一下,第1张

[[:space:]]表示空白字符

^[[:space:]]表示行首为空白字符

^[[:space:]]*表示0个或多个空白字符

^[[:space:]]*$表示行首为空白字符且以0个或多个空白字符结尾,即表示空白行或包含空白字符的行

^$仅表示空白行

[1] 每两行合并在一起

<@dahu>awk 'ORS=NR%2?" ":"\n"{print}'

[2] 每三行合并在一起

<@dahu>awk 'ORS=NR%3?" ":"\n"{print}'

[3] 每四行合并在一起

<@dahu>awk 'ORS=NR%4?" ":"\n"{print}'

[4] 统计std cell和sRam占的面积

<@dahu>summaryReport

[5] 找出drc的port相关的数量

<@dahu>cat postroute_opt.drc | grep -B1 Type: | grep -v Type: | grep "\[" |-

[6] 获得选中的pin的名字

<@innovus>dbget selected.name

[7]  对一个文件,多目标删除

<@dahu>sed -i 's/MODE1\|MODE2\|MODE3\|MODE4\|MODE5//g'

[8] 获得不规则fplan的坐标组

<@innovus>dbget top.fplan.boxes

[9] 在某个目录下找到带某个字符的文件[区分大小写]

<@dahu>find -iname "*tcic*"

[10] 在某个目录下,遍历所有文件内容,得到含有某个字符/字符串的行

<@dahu>grep -r 'insertion delay' ./

[11] 查看当前的INNOVUS版本号

<@dahu>echo $INVS_VER

[12] 替换某个目录下所有文件内容

<@dahu>sed -i"s/查找的内容/替换后的内容/g"`grep -rl"查找的内容"./`

[13] 在gui界面下highlight某条path

<@dahu>ctd_trace -from *  -to *  -color *

[14] 引用${REV},为什么采用大括号{}

为了防止引用造成后面错乱。

如:/fs/omp_com_03/RELEASE/top2hlb/R1/HLB_DEF/${REV}/${top}.def.gz

[15] 解压命令

gzip -d FileName.gz

[16] 换某个cell的坐标 {AAA, BBB}

<@innovus>dbset [dbget top.inst.name XXXXXXXX].pt_x AAA

<@innovus>dbset [dbget top.inst.name XXXXXXXX].pt_y BBB

<@innovus>zoomSelected

[17] 设置某一个cell不用

<@innovus>set_dont_touch BUFF false

<@innovus>set_dont_touch BUFF true

[18] 找某个性质

<@innovus>dbSet [].?h

[19] 删去空白行

vim 中:g/^s*$/d

简单解释一下:

g :全区命令

/ :分隔符

^s*$ :匹配空行,其中^表示行首,s表示空字符,包括空格和制表符,*重复0到n个前面的字符,$表示行尾。连起来就是匹配只有空字符的行,也就是空行。

/d :删除该行

[20] echo 写入带有双引号""的内容。

echo ‘ “AAAbbb” ’ >>1.tcl

[21] echo 写入带有单引号‘’的内容。

echo “ ‘AAAbbb' ” >>1.tcl

[22] keep CPU 数目

<@innovus>setMultiCpuUsage -localCpu 16

<@innovus>history keep 999999

[23] 打开xlsm文件

openoffice.org 文件

[24] 显示clock path路径

<@innovus>report_timing -to XXX -path_type full_clock

[25]报出没有被约束到的path

<@innovus>report_timing -to XXX -uncounstrained

[26]报出穿过path中的某一点

<@innovus>report_timing -to XXX -view

view = MODE + corner

[27] vim 全选(高亮显示 ):按esc后,然后ggvG或者ggVG

[28]

您好很高兴回答您的问题:

\t表示 tab键或tab字符 一般是8个空格长度的"大"空格

\t含义

^是正则表达式表示 以....开头的部分  ^r 表示以r字母开头的行   

^含义

sed的替换格式  s///  或 s### 表示替换

s##替换

最后问题可以改为s### 形式,'s#^\t#apple\t#'  表示把开头的tab字符替换为apple+tab字符

最后效果图

最后一个问题:  可以改为 sed '1 s#^#a1\ta2#'    1表示第1行, s###表替换,把开头的空字符,替换为a1tab键a2

请点击输入图片描述

理解了,点个赞吧,不理解继续问.


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8440114.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-16
下一篇2023-04-16

发表评论

登录后才能评论

评论列表(0条)

    保存