请教 shell 的朋友帮忙处理个字符串

2016-11-02 16:05:58 +08:00
 hailongs

......&key=xxxxx&name=..........

有很多这样的行,我想用 shell 取到 key=xxxxx ,其他的多余字段不要。怎么操作。

xxxxx 是变量,每行都不同。谢谢!

2144 次点击
所在节点    Linux
6 条回复
giskard
2016-11-02 16:13:27 +08:00
cut -d '&' -f2 xxx
xxx 是你的文件名,-d '&' 表示以 '&' 作为字段分隔符,-f2 表示取第二个字段
rrfeng
2016-11-02 16:14:07 +08:00
grep -Po 'key=[^&]*'
hailongs
2016-11-02 16:28:11 +08:00
@rrfeng 感谢。
SoloCompany
2016-11-02 23:42:31 +08:00
-P 不是所有 grep 都支持的吧,比如 macOS 就不支持
用 grep -o '&key=[^&]*' | cut -c5- 就好了
yuedingwangji
2016-11-03 00:27:19 +08:00
grep -oP '(?<=&)key=.*(?=&)'
uuspider
2016-11-03 09:37:25 +08:00
tr '&' '\n' | grep 'key='

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/317452

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX