如何轻松地将GNU屏幕回滚缓冲区复制到文件中?IE,'hardcopy'命令的更强大版本?
在GNU屏幕中,我可以使用" ctrl- a ESC"进入回滚缓冲区.然后我可以标记整个缓冲区并使用" ctrl- a ctrl- ]"将其粘贴到emacs缓冲区中,从而将其保存到文件中.
但是,这很乏味.是否有一个屏幕命令,只是简单地将回滚缓冲区复制到文件中,就像"硬拷贝"对屏幕的可见部分一样?
我试图为某些数据找到(但不是绘制!)轮廓线:
from pprint import pprint
import matplotlib.pyplot
z = [[0.350087, 0.0590954, 0.002165], [0.144522, 0.885409, 0.378515],
[0.027956, 0.777996, 0.602663], [0.138367, 0.182499, 0.460879],
[0.357434, 0.297271, 0.587715]]
cn = matplotlib.pyplot.contour(z)
Run Code Online (Sandbox Code Playgroud)
我知道cn包含我想要的轮廓线,但我似乎无法找到它们.我尝试了几件事:
print dir(cn)
pprint(cn.collections[0])
print dir(cn.collections[0])
pprint(cn.collections[0].figure)
print dir(cn.collections[0].figure)
Run Code Online (Sandbox Code Playgroud)
无济于事.我知道cn是一个ContourSet,并且cn.collections是一个LineCollections 数组.我认为a LineCollection是一系列线段,但我无法弄清楚如何提取这些段.
我的最终目标是创建一个KML文件,在世界地图上绘制数据,以及该数据的轮廓.
但是,由于我的一些数据点很接近,而其他数据点很远,我需要构成轮廓的实际多边形(线串),而不仅仅是轮廓的光栅化图像.
我有点惊讶qhull不做这样的事情.
使用Mathematica ListContourPlot然后导出为SVG工作,但我想使用开源的东西.
我不能使用众所周知的CONREC算法,因为我的数据不在网格上(对于给定的x值,并不总是有多个y值,反之亦然).
该解决方案不需要python,但必须是Linux上的开源和可运行的.
在Perl中,如果我想做的foo()话bar(),我可以这样做:
sub foo {return bar(@_);}
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?更接近Ruby的"别名"运算符?
我用"wget --mirror [sitename]"启动了一个wget镜像,它工作正常,但不小心中断了这个过程.
我现在想要恢复镜像,并提出以下警告:
如果wget已经下载了一个文件,我不希望它再次下载它.我甚至不想让wget检查时间戳:我知道我的版本是"最近的".
我确实希望wget读取它已经下载的文件,并按照这些文件中的链接.
我可以使用"-nc"作为上面的第一点,但我似乎无法强制wget读取它已经下载的文件.
我试过的事情:
显而易见的"wget -c -m"不起作用,因为它想要比较时间戳,这需要至少向远程服务器发出HEAD请求.
"wget -nc -m"不起作用,因为-m表示-N,-nc与-N不兼容.
"wget -F -nc -r -l inf"是我能想到的最好的,但它仍然失败.我希望"-F"会强迫wget读取本地的,已经下载的文件作为HTML,因此遵循链接,但这似乎不会发生.
我尝试了一些其他选项(如"-c"和"-B [sitename]"),但没有任何效果.
如何让wget恢复这个镜像?
当输出被输出时,"ls"表现不同:
> ls ???
bar foo
> ls ??? | cat
bar
foo
Run Code Online (Sandbox Code Playgroud)
它是如何知道的,我将如何在Perl中执行此操作?
我将"SCALAR(0x8ec3a94)"作为文字字符串.我可以强制Perl将其转换为引用然后关注它吗?
IE,告诉Perl:"查看内存位置0x8ec3a94,并将其作为标量处理"?
是的,我意识到这是一件可怕的事情.
在刷新HTTP后,如何使Google地图保留用户的视图(缩放级别和中心点)?
现在,它会在每次刷新后重置视图.我可以调整下面的代码,以某种方式说"缩放:当前缩放级别"和"居中:当前中心位置"吗?
function initialize() {
var myLatLng = new google.maps.LatLng(0,0);
var myOptions = {
zoom: 2,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.TERRAIN
};
Run Code Online (Sandbox Code Playgroud)
我已经找到了其他一些方法来为http://test.barrycarter.info/sunstuff.html做这个, 但它们都相当困难.
如果我这样做xset dpms 600 3600 7200,它会在10分钟不活动后使我的屏幕空白.
xprintidle安装,也许是因为X11不再有XIDLE扩展?谷歌搜索建议看"男人xscreensaver",但我找不到任何有用的东西.
MINOR EDIT:我在下面说JPL的Horizons库不是开源的.实际上,它是,它可以在这里找到:http://naif.jpl.nasa.gov/naif/tutorials.html
在2013-01-01 00:00:00 UTC在北纬0度,东纬0度,海拔高度,J2000时代右上升和月球赤纬是什么?
可悲的是,不同的图书馆给出的答案略有不同 转换为度,汇总结果(RA优先):
Stellarium: 141.9408333000, 9.8899166666 [precision: .0004166640, .0000277777]
Pyephem: 142.1278749990, 9.8274722221 [precision .0000416655, .0000277777]
Libnova: 141.320712606865, 9.76909442356909 [precision unknown]
Horizons: 141.9455833320, 9.8878888888 [precision: .0000416655, .0000277777]
Run Code Online (Sandbox Code Playgroud)
我的问题:为什么?笔记:
我意识到这些差异很小,但是:
我使用pyephem和libnova来计算太阳/月亮上升/设定,这些时间对高纬度地区(例如午夜太阳)的位置非常敏感.
我可以理解JPL的Horizons库不是开源的,但其他三个是.难道不应该有人解决这些库中的差异并合并它们吗?这是我的主要抱怨.stellarium/pyephem/libnova库作者在如何进行这些计算方面有根本的区别,还是只需要合并他们的代码?
我也意识到可能还有其他原因导致计算结果不同,并希望在纠正这些可能的错误时提供任何帮助:
Pyephem和Libnova可能正在使用日期的纪元而不是J2000
月球足够近,观察者位置可以影响其RA/DEC(视差效应).
我正在使用Perl的Astro :: Nova和Python的pyephem,而不是这些库的原始C实现.但是,如果这些差异是由使用Perl/Python引起的,那么在我看来这很重要.
我的代码(带原始结果):
#!/bin/perl
# RA/DEC of moon at 0N 0E at 0000 UTC 01 Jan 2013
use Astro::Nova;
# 1356998400 == 01 Jan 2013 0000 UTC
$jd = Astro::Nova::get_julian_from_timet(1356998400);
$coords = Astro::Nova::get_lunar_equ_coords($jd);
print join(",",($coords->get_ra(), … 当使用VLC观看视频时,我有时想要"标记"特定点(或范围)并添加文本注释以供日后参考.
我意识到我可以运行一个文字处理器,输入"filename.mov,第二个2:17,注意:等等等等等,但是有更简单的方法吗?我想用"右键单击,菜单项,键入注释"来自动记录文件名和时间.
如果没有,我是否可以至少为特定位置添加书签,以便我可以稍后再回过头来弄清楚我发现的内容如此迷人?
perl ×3
alias ×1
annotations ×1
astronomy ×1
bookmarks ×1
coding-style ×1
contour ×1
function ×1
gnu-screen ×1
google-maps ×1
matplotlib ×1
numpy ×1
python ×1
spatial ×1
vlc ×1
wget ×1
x11 ×1