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

CMT learning的更多相关文章

  1. My Reading List - Machine Learning && Computer Vision

    本博客汇总了个人在学习过程中所看过的一些论文.代码.资料以及常用的资源与网站,为了便于记录自身的学习过程,将其整理于博客之中. Machine Learning (1) Machine Learnin ...

  2. 【Machine Learning】KNN算法虹膜图片识别

    K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  3. 【Machine Learning】Python开发工具:Anaconda+Sublime

    Python开发工具:Anaconda+Sublime 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现 ...

  4. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  5. 【Machine Learning】决策树案例:基于python的商品购买能力预测系统

    决策树在商品购买能力预测案例中的算法实现 作者:白宁超 2016年12月24日22:05:42 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本 ...

  6. Deep learning:五十一(CNN的反向求导及练习)

    前言: CNN作为DL中最成功的模型之一,有必要对其更进一步研究它.虽然在前面的博文Stacked CNN简单介绍中有大概介绍过CNN的使用,不过那是有个前提的:CNN中的参数必须已提前学习好.而本文 ...

  7. Programming Learning - Based on Project

    Today when taking a bath I got a good idea that it is an efficient and interesting way to learn a ne ...

  8. 做中学(Learning by Doing)之背单词-扇贝网推荐

    做中学(Learning by Doing)之背单词-扇贝网推荐 看完杨贵福老师(博客,知乎专栏,豆瓣)的「继续背单词,8个月过去了」,我就有写这篇文章的冲动了,杨老师说: 有时候我会感觉非常后悔,如 ...

  9. 【原】Learning Spark (Python版) 学习笔记(一)----RDD 基本概念与命令

    <Learning Spark>这本书算是Spark入门的必读书了,中文版是<Spark快速大数据分析>,不过豆瓣书评很有意思的是,英文原版评分7.4,评论都说入门而已深入不足 ...

随机推荐

  1. Asp.Net_Mvc_获取当前Url、Controller、Action

    一.URL的获取很简单,ASP.NET通用: [1]获取 完整url (协议名+域名+虚拟目录名+文件名+参数) string url=Request.Url.ToString(); [2]获取 虚拟 ...

  2. REST架构之Apache Wink

    Apache Wink是一个使用简单,稳定的Java框架,用于创建RESTful web services应用程序.Wink包括了一个服务器端模块和一个客户端模块,用于帮助开发者快速高效的开发REST ...

  3. Sprint3总结和成员个人总结

    Sprint3总结 一.类名:软件工程-第三阶段 二.时间:至12.18 三.选题内容:web版-餐厅到店点餐系统 四.(1)团队博客地址: http://www.cnblogs.com/queenj ...

  4. Python’s SQLAlchemy vs Other ORMs[转发 7] 比较结论

    Comparison Between Python ORMs For each Python ORM presented in this article, we are going to list t ...

  5. 《精通C#》第十七章

    进程简单的说就是一个正在运行的程序,包含了运行该程序所需要的一切资源以及内存分配.线程是进程的基本执行单元,在进程的入口点(类似main())创建的第一个线程称之为主线程.只有一个主线程的进程是线程安 ...

  6. 20169212《Linux内核原理及分析》第十二周作业

    格式化字符串漏洞实验 格式化字符串漏洞是由像 printf(user_input) 这样的代码引起的,其中 user_input 是用户输入的数据,具有 Set-UID root 权限的这类程序在运行 ...

  7. mysql数据库的导入导出

    当我们在操作数据库的时候,难免会遇到数据导入导出的一些操作,今天突然学到了这个知识点,特意来给大家分享. 我用的是data的这条数据 1.使用数据 mysql> use data; Databa ...

  8. 关于博弈论中的一硬币正反问题的分析<二>

    昨天分析了一下硬币正反的问题,其中说到一点是求美女收益期望E(女)=-8xy+3y+3x-1 最大化,当然结果我们是说的一个范围内的变化以及可以针对性的调整.这里再次说明一下,不是简单的求二元函数的最 ...

  9. Vue2.X的状态管理vuex记录

    记住上述的顺序情况:想要改变state,只能通过Mutation,虽然action可以直接改变state,这样会使每个状态可以方便的跟踪和记录(用Devtools跟踪) vue Method   -- ...

  10. 坑备忘error: expected class-name before '{' token

    今日重构之前的代码,修改了命名空间,然后一处派生的子类定义处总是总是报error: expected class-name before '{' token,网上查了查原因,出现这种情况大致有两种情况 ...