首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >除了字母数字模式之外,我如何删除所有内容?

除了字母数字模式之外,我如何删除所有内容?
EN

Unix & Linux用户
提问于 2017-02-10 15:30:21
回答 3查看 451关注 0票数 0

我有一个文件,有很多垃圾和特殊的字符以及。我想保持一个特殊的字母数字模式,忽略所有其他东西-例如AB123456789 -我只想提取这个关键字,即两个字母'AB‘,后面是9个数字。

示例输入:

{“u”_受影响_“m324nkj43nkj3n4kj34n”、“数字”:“hhggjjiiijjjf”、“akdsfj”_“、”作为_组:“1 324 kj3k4j3k4jk34”、“order”、“__状态:”成功“,”阶段“、”gfhgh“、”cmdb“_词:”0989“、”u_优势_组织:“u”“_创建_组:”luiy98798yukuh“、”工作“_备注_列表:”“、”优先权“:”4“,“u”_tier4_地点:“、”审查“_日期:”、“你”_mf_批处理_英斯特_奥普托_移动:“”、“你”_请求_集团:“kjhljlkjhlkuh098709kjh”、“商业”_期限:“数字”:“AB123456789”、“请求_由”:_日期878789khgo7869876ff900158c、878789khgo7869876ff9007158c、“u_临时”、“改变_计划:”、“asd”_def:“2023-02-10 11:58:21”,“_计划:”、“短”_描述:“数据”、“u”“_替代方案_程序员_工作_号码:”、“工作”_“开始”:“”,“你”_分配_组_更新:“、”yy“_uhggfjk:”fds“、”变化“_请求、”已结束_由:“abcdef”、“开始”_日期:“2023-02-10”}

示例输出:

AB123456789

EN

回答 3

Unix & Linux用户

发布于 2017-02-10 17:51:12

如果实际输入是有效的JSON,则最好使用JSON感知工具,例如jq:

代码语言:javascript
运行
复制
jq -r '.[0].number'.

(我说"if",因为您发布的输入不是有效的JSON,因为它缺少一个双引号,其中一个键没有附加值;我假设在准备问题时可能发生了损坏。)

票数 2
EN

Unix & Linux用户

发布于 2017-02-10 18:14:59

如果您的文件总是有相同数量的字段,并且您的模式出现在相同的位置(例如:第72列),则可以使用简单的awk:

代码语言:javascript
运行
复制
awk -F "\"" '{print $72}' input-file.txt

似乎模式匹配不适合您,因为在文件的开头有相同的模式(AF123456789)。

我希望这个答案对你有帮助。

票数 0
EN

Unix & Linux用户

发布于 2017-02-10 18:33:40

有些sed应该做这个工作:

代码语言:javascript
运行
复制
sed -e '/AB[0-9]\{9\}/!d' -e 's/.*\(AB[0-9]\{9\}\).*/\1/'
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/344038

复制
相关文章

相似问题

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