场景是这样的:有一个 log 文件,里面每一行都是类似 xxxxid=12345xxxx,x 是其他字符。我要从每一行里抽出 id,然后调用 API 。
我现在的做法是,先cat file | xargs -n1 -I {} sh -c "echo {} | grep -o -E id=[0-9]* | grep -o -E [0-9]*"
,把所有 id 逐行打印出来后、手动保存成另一个文件 file2 。
接着cat file2 | xargs -n1 -I{} sh -c "curl example.com/is/{} | grep -E 'id|status'
,打印所有调用 API 的结果。
有啥简单的方法,一行可以搞定的么?环境受限,只能用命令行工具。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.