linux命令匹配空白行,linux匹配空格

linux去掉文件中的空行

方法一:利用grep

我们提供的服务有:网站建设、成都做网站、微信公众号开发、网站优化、网站认证、昌江黎族ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的昌江黎族网站制作公司

grep -v '^\s*$' test.txt

注:-v表示将匹配的结果进行反转,正则表达式匹配空行。(空行可包括空格符制表符等空白字符)

方法二:利用sed

sed '/^\s*$/d' test.txt

注:d代表删除该行

方法三:利用awk

awk NF test.txt

注:NF代表当前行的字段数,空行的话字段数为0,被awk解释为假,因此不进行输出。

以上三种方式均可处理包含空白字符(空格符,制表符等)的空行。

方法四:若空行均由’\n'造成,则还可以利用tr命令去除空行。《Linux就该这么学》

tr -s '\n' test.txt

注:-s代表将多个连续的字符压缩成一个字符,这里是将多个‘\n'压缩成一个'\n',达到去除空行的效果。

方法四的缺陷:如果首行就出现空行的话则无法去除首行的空行

linux命令grep怎么取得空白行

那个命令本身就有问题出来的结果是0;

修改后的命令如下:

last| grep [a-zA-Z]|egrep -v  ‘wtmp’|wc -l

grep [a-zA-Z]排除空行,因为空行不包含字母

Linux命令之sed-删除匹配行

1. sed -i '/preSql/d' a.txt

---删除匹配到 preSql的行

2. sed -i '1d' a.txt

---删除第一行

3. sed -i '3~2d' a.txt

---从第三行开始,每隔一行删除

4. sed -i '4,8d' a.txt

---删除从第4行到第8行

5. sed -i '$d'  a.txt

---删除最后一行

6. sed '/^$/d' a.txt

---删除所有空行

7. sed -i  '/Website Design/,$d' a.txt

---从匹配行到末尾行

8. sed -i  '/Storage/,+2d' a.txt

--- 删除匹配行和之后两行

工作中总结的常用linux命令(Ⅱ)

[1] 每两行合并在一起

@dahuawk 'ORS=NR%2?" ":"\n"{print}'

[2] 每三行合并在一起

@dahuawk 'ORS=NR%3?" ":"\n"{print}'

[3] 每四行合并在一起

@dahuawk 'ORS=NR%4?" ":"\n"{print}'

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

@dahusummaryReport

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

@dahucat postroute_opt.drc | grep -B1 Type: | grep -v Type: | grep "\[" |-

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

@innovusdbget selected.name

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

@dahused -i 's/MODE1\|MODE2\|MODE3\|MODE4\|MODE5//g'

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

@innovusdbget top.fplan.boxes

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

@dahufind -iname "*tcic*"

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

@dahugrep -r 'insertion delay' ./

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

@dahuecho $INVS_VER

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

@dahused -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 数目

@innovussetMultiCpuUsage -localCpu 16

@innovushistory 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]

每天一个linux命令(cat)

权限: 所有用户

用法:cat [option] [--help] [--version] filename …

说明:

把文件内容连接后输出到标准输出(控制台)

fileNameB 重定向输出到另一个文件

常用参数:

-n 或 --number 由 1 开始对所有输出的行数编号

-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号

-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

--help 显示帮助信息

示例:

cat -n textfile1 textfile2 把 textfile1 的内容加上行号后输入 textfile2 文件中

cat -b textfile1 textfile2 textfile3 把 textfile1 和 textfile2 的内容加上行号(空白行不加)之后追加到 textfile3。

Tips:

输出到文件,每次都会重新生成文件,如果输出的文件已存在,原内容会丢失。

追加到文件,原文件内容不会丢失

Linux命令行操作之sed

sed命令行格式:sed [options] 'command' file(s)

options常用选项:

-n或--quiet或——silent:仅显示script处理后的结果;

-e:以选项中的指定的script来处理输入的文本文件;

-f:以选项中指定的script文件来处理输入的文本文件;

-r∶sed 的动作支援的是延伸型正规表示法的语法;

-i∶直接修改读取的档案内容,而不是由萤幕输出;

-h或--help:显示帮助;

-V或--version:显示版本信息。

Command常用命令:

a:新增,a 的后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行);

c:取代,c 的后面可以接字符串,这些字符串可以取代 n1.n2 之间的行;

d:删除,d 后面通常不接任何字符串;

i:插入,i 的后面可以接字符串,而这些字符串会在新的一行出现(目前的上一行);

p:列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作;

s:取代,可以直接进行取代的工作,通常与正规表达式搭配使用。

实例说明:

新增操作:a命令

sed '/^bird/a\test' file将test追加到 以bird开头的行后面

删除操作:d命令

sed '/^$/d' file #删除空白行;

sed '2d' file #删除第二行;

sed '2.$d' file #删除第2行到最后一行;

sed '$d' file #删除最后一行;

sed '/^bird/'d file #删除所有开头是bird的行;

插入操作:i命令

sed -i '3i\bird ' bird.conf #在bird.conf文件第3行之前插入bird

替换文本中的字符串:s命令

sed 's/bird/birds/' file #将文本中的bird替换成birds;

sed -i 's/ bird / birds /g' file #将file文件中每一行的第一个bird替换为birds;


当前文章:linux命令匹配空白行,linux匹配空格
URL链接:http://hbruida.cn/article/dsgeddo.html