sed命令如何排除数字和点

时间:2017-06-21 07:59:17

标签: sed

我的文件包含以下内容。在这里,我试图从每一行的开头排除一些字符。

1.apple
2.orange
3.cucumber
4.Cherry
5.mango
lemon

从这个文件我需要排除所有的数字和点(。),然后我需要打印文件中的所有行。

sed -n '/[0-5.]/!p' file

输出

lemon

因为这会从文件中排除0-5和仅打印字lemon之间的所有数字。

但我需要使用sed命令提取所有数字和点?

需要输出:

apple
orange
cucumber
Cherry
mango
你可以请别人帮助我吗?

3 个答案:

答案 0 :(得分:3)

sed 方法:

sed 's/^[0-9]\.//' file
  • ^ - 行的开头(锚点)

  • [0-9] - 数字范围

  • \. - 字面匹配.字符,应根据其特殊含义使用\进行转义

输出(正如您所写:“我需要打印所有文件中的行):

apple
orange
cucumber
Cherry
mango
lemon

答案 1 :(得分:1)

你想这样吗?

使用sed

sed -n 's/^[0-9]\.//p' file

输出:

$ sed -n 's/^[0-9]\.//p' file
apple
orange
cucumber
Cherry
mango

答案 2 :(得分:0)

sed' s / ^ * [0-9] +。// g'你的文件> newfile中

这适用于任何数字范围。 试试这个。