8.20 -s 选项

-s 选项用于控制是否输出含有 NaN 的记录。

默认情况下,命令会输出所有记录,包括那些某列值为 NaN 的记录。使用该选项可以控制含 NaN 的记录的输出。其语法为:

-s[<cols>][+a|+r]
  • -s 若Z值(即第三列)为NaN则不输出
  • -s+a 表示任意一列有NaN则不输出
  • -s+r 表示反操作,即只输出某列有 NaN 的记录
  • <cols> 用于指定要检查的列,即只有指定的所有列都为NaN时,才输出或不输出该记录。 <cols> 是一系列用逗号分隔的列号或者列号范围。列号范围的格式为 <start>[:<inc>]:<stop>,若省略 <inc> 则默认其值为1。比如 2,5,71,2:4,表示检测这些列数据是否全是 NaN。

举几个例子。输入数据 input.dat 的内容为:

1 1 1   0
2 2 NaN 0
3 3 3   NaN

不使用 -s 选项则会输出所有记录:

$ gmt select input.dat
1   1       1       0
2   2       NaN     0
3   3       3       NaN

使用 -s 选项则会抑制第三列为NaN的记录的输出:

$ gmt select input.dat -s
1   1       1       0
3   3       3       NaN

使用 -sa 选项则只有任意一列有NaN则不输出该记录:

$ gmt select input.dat -s+a
1   1       1       0

使用 -s2 选项则检查第三列(列号从0开始)是否为NaN:

$ gmt select input.dat -s2
1   1       1       0
3   3       3       NaN

使用 -s2,3 则抑制第3和4列均为NaN的记录的输出:

$ gmt select input.dat -s2,3
1   1       1       0
2   2       NaN     0
3   3       3       NaN