Bash tr -s命令

时间:2015-04-01 02:53:27

标签: bash

因此,假设我在不属于的电子邮件中有多个字符。我想用tr命令把它们拿出来。例如......

jsmith@test1.google.com
msmith@test2.google.com
zsmith@test3.google.com

我想取出所有test[123].所以我使用命令tr -s 'test[123].' < email > mail。这是我尝试过的一种方式,但我尝试过的两三种方法都没有按预期工作。我想要的输出是......

jsmith@google.com
msmith@google.com
zsmith@google.com

1 个答案:

答案 0 :(得分:1)

你可以使用sed。

$ sed 's/@test[1-3]\./@/' file
jsmith@google.com
msmith@google.com
zsmith@google.com

[1-3]匹配范围13(1,2,3)范围内的所有字符。添加就地编辑-i参数以保存所做的更改。