如何在 ubuntu 中使用 grep 命令提取本文中的第二个数字。
文件名:Results.html?owner=12345
14219,98.2,31-s,19225
39219,92.7,31-s,29225
所需的输出:
12345:98.2
12345:92.7
谢谢
使用 GNU grep
,您可以切换到 PCRE 模式,您可以在其中使用环视来匹配由逗号包围的数字:
$ grep -HPo '(?<=,)[0-9.]*(?=,)' file
file:98.2
file:92.7
OTOH 如果您的数据以逗号分隔,则更好的选择可能是 Awk:
$ awk -F, '{print FILENAME ":" $2}' file
file:98.2
file:92.7
或等效于 perl perl -F, -nlE '{say "$ARGV:$F[1]"}' file
要在 awk 中拆分文件名,您可以使用
$ awk -F, '{split(FILENAME,a,/=/); print a[2] ":" $2}' Results.html\?owner\=12345
12345:98.2
12345:92.7
或者(稍微高效一点)如果你有 GNU Awk
gawk -F, 'BEGINFILE{split(FILENAME,a,/=/)} {print a[2] ":" $2}' Results.html\?owner\=12345
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句