zoukankan      html  css  js  c++  java
  • CMT learning

    一个 GMT 命令由“gmt + 模块 + 选项 + 参数”构成,写成如下形式:
    gmt module -Axx+bxxxx -Bxx+axxxx
    
    • gmt 是 GMT 中“唯一”的一个二进制文件,所有 GMT 命令必须以 gmt 开头
    • module 是用于完成某个特定操作的模块的名字
    • -A 是模块 module 提供的选项,xx 为选项 -A 的参数
    • +b 是选项 -A 的子选项,xxxx 为该子选项的参数
    一个完整的示例:
    gmt pscoast -R0/20/0/20 -JM6i -Ggray -Wthin -B5 -B+t"Title with spaces" -V -P > map.ps
    
    • 不以 - 开头的参数,都会被当做文件,GMT 会尝试去读取
    • 子选项以 + 开头,后接单个字符以及子选项的参数
    官方文档中子选项称为 modifier,可以译为“修饰符”,本文档中统一使用“子选项”
    子选项以 + 开头,后接单个字符以及子选项的参数
    各选项间以空格分隔,选项内部不能有空格
    • 选项内部的字符串,若存在空格,应用单引号或双引号括起来
    STDOUT)用于显示输出数据,标准错误流(STDERR)用于显示错误消息
    1. 将标准输出流重定向到数据文件中
    2. 将标准错误流重定向到日志文件中
    3. 将标准输出流通过管道传递给下一个命令
    对于标准输出流:
    • > :将标准输出流重定向到新文件中。若该文件已存在,则覆盖文件中原内容;若该文件不存在,则
    创建该文件
    • >> :将标准输出流追加到文件中。若文件已存在,则将标准输出流追加到已有文件后面;若文件不
    存在,则创建该文件
    对于标准错误流,重定向符号是 2> 和 2>> 。这里的 2 表示标准错误流,大于号的含义与标准输出
    流相同。
    

     -K  used in the starting plot;-K -O used in processing plots;-O used in the final plot;

    管道
    举例如下,假设文件 input.dat 中包含了一系列地震的经度、纬度和震级共三列数据,想要在图上
    画很多圆表示地震的位置,圆的大小表示震级的大小。可以用类似如下命令:
    gmt psxy input.dat -Rxxx ... > test.ps
    此时 psxy 模块会读取 input.dat 文件的内容作为其输入。
    也可以使用管道:
    cat input.dat | gmt psxy ... > test.ps
    cat 命令会读取 input.dat 的内容并将其发送到标准输出流,由于使用了管道,标准输出流中的内
    容被 gmt psxy 接收作为自己的标准输入流。
    当然还可以使用 gawk
    gawk '{print $1, $2, $3/10}' input.dat | gmt psxy ... > test.ps
    gawk 会读取 input.dat 的内容,并对数据做简单处理并输出。
    
    4. 通过管道输入
    管道可以将前一个命令的标准输出作为后一个命令的标准输入:
    cat event.loc | gmt psxy -R70/140/20/60 -JM6i -B5 -Sc0.2c -Gred -P > test.ps
    5. Here Documents
    示例如下,两个 EOF 之间的所有数据都会被传递给 GMT:
    gmt psxy -R70/140/20/60 -JM6i -B5 -Sc0.2c -Gred -P > map.ps << EOF
    100.0 40.0
    110.0 45.0
    EOF
    

     Quoting:

    想要用 psxy 绘制某数据时,需要提供数据的范围 -R ,而 gmtinfo 模块可以用于计算并输出
    数据的范围,即需要将 gmtinfo 的输出作为 psxy 的一个选项。
    比如:
    $ gmt info in.dat -I1/1
    -R0/10/0/10
    $ gmt psxy in.dat -JX10c -R0/10/0/10 > map.ps
    上面的做法需要人工干预,不适合脚本自动化,可以利用倒引号将 gmtinfo 的输出保存到变量中:
    #!/bin/bash
    R=`gmt info input -I1/1`
    gmt psxy in.dat -JX10c $R > map.ps
    上面的例子还可以进一步简化。此处变量 $R 只需要用一次,因而没有必要把 gmtinfo 的输出信息
    保存到变量中,可以直接在 psxy 命令中使用倒引号:
    $ gmt psxy in.dat -JX10c `gmt info in.dat -I1/1` > map.ps
    
    EOF 可以被替换成其他任意字符(比如 END ),只要保证开始和结束的符
    号一致即可
    
  • 相关阅读:
    获取请求IP
    Excel导入工具类兼容xls和xlsx
    Openshift 4.3环境的离线Operatorhub安装
    RHEL学习
    OpenShift Service Mesh 培训作业
    OpenId Connect认证配置
    Route Sharding in OpenShift 4.3
    OpenShift 4.3环境中创建基于Go的Operator
    Quay和Clair的集成
    Quay 基础版安装和部署
  • 原文地址:https://www.cnblogs.com/seisjun/p/6201954.html
Copyright © 2011-2022 走看看