我想在文本中提取Pages:
之后的数字,例如
Tagged: no
Form: none
Pages: 3
Encrypted: no
以下awk命令运行良好,因为它在3
之前有空格
$ awk -F': ' '$1=="Pages" {print $2}'
3
而
awk -F'[: ]' '$1=="Pages" {print $2}'
什么都不产生,我认为我指定了两个可能的字符作为字段分隔符。
那么我怎样才能使用awk在Pages:
之后提取数字而不需要前面的空格?感谢。
答案 0 :(得分:3)
看起来你需要告诉awk它不止一个角色:
+
请注意正则表达式中的v = (u(i+1,j)-u(i-1,j))/(2*h)
。
答案 1 :(得分:2)
-F'[: ]+'
不对。虽然在这种情况下有用,但如果有空字段则不会。要使用的右边界定为': +'
。请参阅以下示例
$ echo "a: : b" | awk -F'[: ]+' '{print NF}'
2
$ echo "a: : b" | awk -F': +' '{print NF}'
3
这可以解决你的问题。
$ awk -F': +' '/^Pages/{print $2}' file
答案 2 :(得分:1)
你可以试试这个;
awk -F': ' '$1=="Pages" {gsub(/ /, "", $2); print $2} '
答案 3 :(得分:1)
为什么要打扰ng2-charts
,只需:
-F
编辑:哦,@ BenjaminW。已经在评论中提出这一点。道具++