剪切命令来检索单词的第二部分

时间:2014-01-24 02:27:03

标签: bash cut

我有一些名字,我需要删除并获得名称的第二部分

agent-tom
agent-harry
agent-disk-see

我使用了cut -d "-" -f2 我只能设法得到“汤姆”,“哈利”和“磁盘” 问题:我如何使用cut命令来削减第3个代理,以便我可以获得“disk-see”?

由于

3 个答案:

答案 0 :(得分:3)

cut -d '-' -f 2-

从第2列剪切到结束,无论短跑计数如何都将获得所有。

答案 1 :(得分:2)

改编自Wikipedia

使用“ - ”字符作为字段分隔符,在每行的行末尾输出第二个字段:

cut -d "-" -f 2- file

答案 2 :(得分:0)

如果您愿意考虑cut以外的工具:

pax> sed 's/^[^-]*-//' inputFile
tom
harry
disk-see

此命令使用流编辑器sed删除从开头到第一个-字符的行部分。对于像这样的任务,我通常更喜欢sed,因为除了简单的一级深度场操作之外,它更具适应性。

话虽如此,这个 是一个相当简单的任务,所以稍微修改一下cut命令就足够了。只需使用-f2-(字段2以后)代替-f2(仅限字段2):

pax> cut -d'-' -f2- inputFile
tom
harry
disk-see