首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从文本文件的行中删除特定的单词?

如何从文本文件的行中删除特定的单词?
EN

Ask Ubuntu用户
提问于 2017-10-23 10:02:54
回答 5查看 35.8K关注 0票数 14

我的文本文件如下:

代码语言:javascript
复制
Liquid penetration 95% mass (m) = 0.000205348
Liquid penetration 95% mass (m) = 0.000265725
Liquid penetration 95% mass (m) = 0.000322823
Liquid penetration 95% mass (m) = 0.000376445
Liquid penetration 95% mass (m) = 0.000425341

现在,我想从行中删除Liquid penetration 95% mass (m),以获得值。我怎么发动汽车呢?

EN

回答 5

Ask Ubuntu用户

回答已采纳

发布于 2017-10-23 10:06:09

如果只有一个=标志,您可以删除之前的所有内容,并包括如下=

代码语言:javascript
复制
$ sed -r 's/.* = (.*)/\1/' file
0.000205348
0.000265725
0.000322823
0.000376445
0.000425341

如果要更改原始文件,请在测试后使用-i选项:

代码语言:javascript
复制
sed -ri 's/.* = (.*)/\1/' file

Notes

  • -r使用ERE,这样我们就不必逃避()
  • s/old/newold替换为new
  • .*任意数目的任何字符
  • (things)things保存到稍后使用\1\2等进行反向引用。
票数 22
EN

Ask Ubuntu用户

发布于 2017-10-23 12:21:43

使用grep-P实现PCRE (将模式解释为与Perl兼容的正则表达式),并使用-o单独打印匹配的模式。\K通知将忽略前面的匹配部分。

代码语言:javascript
复制
$ grep -oP '.*= \K.*' infile
0.000205348
0.000265725
0.000322823
0.000376445
0.000425341

或者您可以使用cut命令代替。

代码语言:javascript
复制
cut -d= -f2 infile
票数 12
EN

Ask Ubuntu用户

发布于 2017-10-23 14:56:00

由于行前缀始终具有相同的长度(34个字符),所以可以使用cut

代码语言:javascript
复制
cut -c 35- < input.txt > output.txt
票数 11
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/967980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档