![linux正则表达式 ^[[:space:]]*$ 应该怎么理解,麻烦详细说明一下,第1张 linux正则表达式 ^[[:space:]]*$ 应该怎么理解,麻烦详细说明一下,第1张](/aiimages/linux%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F+%5E%5B%5B%3Aspace%3A%5D%5D%2A%24+%E5%BA%94%E8%AF%A5%E6%80%8E%E4%B9%88%E7%90%86%E8%A7%A3%EF%BC%8C%E9%BA%BB%E7%83%A6%E8%AF%A6%E7%BB%86%E8%AF%B4%E6%98%8E%E4%B8%80%E4%B8%8B.png)
^[[: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
请点击输入图片描述
理解了,点个赞吧,不理解继续问.
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)