【发布时间】:2015-03-11 10:54:09
【问题描述】:
如何使用 'sed' 从一行中提取 3 个或更多单独的文本
我有以下行:
echo <MX><[Mike/DOB-029/Post-555/Male]><MX>
到目前为止,我可以通过这样做来提取“DOB-029”
sed -n 's/.*\(DOB-[0-9]*\).*/\1/p'
但我没有收到其他文本,例如姓名或帖子。
我的预期输出应该是 Mike DOB-029 Post-555
编辑
假设我在文件中有一个列表,我想从整个列表中提取特定文本/ID 并将其保存到 .txt 文件中
【问题讨论】:
-
你的预期输出是什么?
-
我的预期输出应该是 Mike DOB-029 Post-555
-
那么最后一个区块
/Male呢?问题背后的逻辑是什么?提取所有/分离的东西? -
我什么都不想要。目的是仅显示由 '/' 分隔的前 3 个文本