linux打开文件按每行的第一个单词过滤

linux打开文件按每行的第一个单词过滤,第1张

您能说的再具体一点吗?我的理解是“只保留开头单词相同的行”但是你这个“相同”是

①全文只保留某一个单词开头的行

还是说

②有n个aaa开头的保留,m个bbb开头的保留

如果是①grep "相同部分*" 文件名这样就过滤出开头相同的行了,随便 > 到一个新建文件里在改名或导入都行

如果是②就比较麻烦了得写一个脚本

可以用sed命令实现:

1、删除文档的第一行

sed

-i

'1d'

<file>

2、删除文档的最后一行

sed

-i

'$d'

<file>

3、在文档指定行中增加一行

例如文档如下:

echo

"1"

echo

"2"

echo

"4"

echo

"5"

想要在echo

"2"后面加上一条echo

"3"可以用如下命令

sed

-i

'/echo

"2"/aecho

"3"'

<file>

之所以用分号,是因为文本中本来就有。也就是说分号不是必须的!

抽象出来就是:

sed

-i

'/*

/a*'

<file>

4、删除文件中的一行

sed

-i

'3d'

<file>

5、删除文件中包含某个关键字开头的所有行

sed

-i

'/^QWQ/d'

<file>

6、删除文件中包含某个关键字的所有行

sed

-i

'/QWQ/d'

<file>


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

原文地址: http://outofmemory.cn/yw/8472662.html

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

发表评论

登录后才能评论

评论列表(0条)

保存