hashedassets

软件截图:
hashedassets
软件详细信息:
版本: 0.3.1.1
上传日期: 12 May 15
开发: Filip Noetzel
许可: 免费
人气: 6

Rating: 1.0/5 (Total Votes: 1)

hashedassets是一个命令行工具,将文件复制到基于其内容的文件名 它也写了什么更名什么地图,这样你可以找到你的文件。
这主要目的是,你可以添加一个遥远的未来Expires头到您的组件。使用基于散列的文件名是一个很多比你使用VCS $版本号更好,因为用户只需要下载并没有改变文件。
创建一些源文件
首先,我们创建一个文件被散列:
>>>系统(“MKDIR输入/”)
>>>系统(“MKDIR输入/子目录/”)
>>>系统(“MKDIR图/”)
>>>开放(“输入/ foo.txt的”,“W”)为文件:
... file.write(“富”)
>>>开放(“输入/子目录/跳回到bar.txt”,“W”)为文件:
... file.write(“巴”)
>>>系统(“触摸-t200504072213.12输入/ foo.txt的”)
简单的使用
>>>系统(“hashedassets地图/ map.txt输入/ *。txt的输入/ * / *。txt的输出/”)
MKDIR“产出”
CP“输入/ foo.txt的'输出/ C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”
CP“输入/子目录/跳回到bar.txt''输出/ Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”
>>>打印开(“图/ map.txt”)。阅读()
子目录/跳回到bar.txt:Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
foo.txt的:C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt

>>>系统(“LS输出/”)
C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
>>>系统(“LS图/”)
map.txt
日志记录级别
如果我们告诉命令要安静,它不打印它在做什么:
>>>系统(“hashedassets -q地图/ map2.txt输入/ *。txt的输入/ * / *。txt的输出/”)
如果我们告诉命令更详细的,它记录的详细信息:
>>>系统(“hashedassets -vvv地图/ map3.txt输入/ *。txt的输入/ * / *。txt的输出/”)
调试级别设置为10
CP“输入/ foo.txt的'输出/ C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”
CP“输入/子目录/跳回到bar.txt''输出/ Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”
修改时间也被保留:
>>> old_stat = os.stat(“输入/ foo.txt的”)
>>> new_stat = os.stat(“输出/ C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”)
>>> [(GETATTR(old_stat,道具)== GETATTR(new_stat,道具))
...的道具在('的st_mtime','st_atime的更改“,”st_ino中',)]
[真,真,假]
我们可以很容易地做到这一点有多种格式:
JavaScript的
>>>系统(“hashedassets -n my_callback地图/ map.js输入/ *。txt的输入/ * / *。txt的输出/”)
CP“输入/ foo.txt的'输出/ C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”
CP“输入/子目录/跳回到bar.txt''输出/ Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”
>>>打印开(“图/ map.js”)。阅读()
VAR my_callback = {
 “foo.txt的”:“C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”
 “子目录/跳回到bar.txt”:“Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”
};
JSON
>>>系统(“hashedassets -n my_callback地图/ map.json输入/ *。txt的输入/ * / *。txt的输出/”)
CP“输入/ foo.txt的'输出/ C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”
CP“输入/子目录/跳回到bar.txt''输出/ Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”
>>>打印开(“图/ map.json”)。阅读()
{
 “foo.txt的”:“C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”
 “子目录/跳回到bar.txt”:“Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”
}
JSONP
>>>系统(“hashedassets -n my_callback地图/ map.jsonp输入/ *。txt的输入/ * / *。txt的输出/”)
CP“输入/ foo.txt的'输出/ C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”
CP“输入/子目录/跳回到bar.txt''输出/ Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”
>>>打印开(“图/ map.jsonp”)。阅读()
my_callback({
 “foo.txt的”:“C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”
 “子目录/跳回到bar.txt”:“Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”
});
萨斯
萨斯是在CSS顶部的元语言。
>>>系统(“hashedassets -n my_callback地图/ map.scss输入/ *。txt的输入/ * / *。txt的输出/”)
CP“输入/ foo.txt的'输出/ C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”
CP“输入/子目录/跳回到bar.txt''输出/ Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”
>>>打印开(“图/ map.scss”)。阅读()
@mixin my_callback($指令,$路径){
  @if $ PATH ==“子目录/跳回到bar.txt”{#$ {}指令:URL(“Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”); }
 如果@else $ PATH ==“foo.txt的”{#$ {}指令:URL(“C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”); }
  @else {
  @warn“没有找到”#“资产清单”{$ PATH};
 #$ {}指令:URL($路径);
 }
}
PHP
>>>系统(“hashedassets -n my_callback地图/ map.php输入/ *。txt的输入/ * / *。txt的输出/”)
CP“输入/ foo.txt的'输出/ C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”
CP“输入/子目录/跳回到bar.txt''输出/ Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”
>>>打印开(“图/ map.php”)。阅读()
$ my_callback =阵列(
 “子目录/跳回到bar.txt”=>“Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”
 “foo.txt的”=>“C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”

桑达
我们也可以生成一个sed脚本,做了替换我们:
>>>系统(“hashedassets -n my_callback地图/ map.sed输入/ *。txt的输入/ * / *。txt的输出/”)
CP“输入/ foo.txt的'输出/ C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”
CP“输入/子目录/跳回到bar.txt''输出/ Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”
>>>打印开(“图/ map.sed”)。阅读()
S /子目录 /酒吧 .TXT / Ys23Ag_5IOWqZCw9QGaVDdHwH00 .TXT / G
S / FOO .TXT / C-7Hteo_D9vJXQ3UfzxbwnXaijM .TXT / G

我们还应该能够直接使用此使用sed
>>>开放(“replaceme.html”,“W”)为文件:
... file.write('的“)
该脚本,然后应用如下:
>>>系统(“SED -f地图/ map.sed replaceme.html”)

然而,“。”不被视为通配符,所以下面不工作
>>>开放(“replaceme2.html”,“W”)为文件:
... file.write('的“)
>>>系统(“SED -f地图/ map.sed replaceme2.html”)

与指定-t类型
地图的类型是从文件名来猜测,但你可以指定它还有:
>>>系统(“hashedassets -t JS cantguessmaptype输入/ *。txt的输入/ * / *。txt的输出/”)
CP“输入/ foo.txt的'输出/ C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”
CP“输入/子目录/跳回到bar.txt''输出/ Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”
指定文件名的长度-l
>>>系统(“hashedassets -l 10地图/ shortmap.json输入/ *。txt的输入/ * / *。txt的输出/”)
CP“输入/ foo.txt的'输出/ C-7Hteo_D9.txt”
CP“输入/子目录/跳回到bar.txt''输出/ Ys23Ag_5IO.txt”
>>>系统(“RM输出/ C-7Hteo_D9.txt输出/ Ys23Ag_5IO.txt”)
指定摘要与-d
>>>系统(“hashedassets -d MD5地图/ shortmap.json输入/ *。txt的输入/ * / *。txt的输出/”)
CP“输入/ foo.txt的'输出/ rL0Y20zC-Fzt72VPzMSk2A.txt”
CP“输入/子目录/跳回到bar.txt''输出/ N7UdGUp1E-RbVvZSTy1R8g.txt”
>>>系统(“RM输出/ rL0Y20zC-Fzt72VPzMSk2A.txt输出/ N7UdGUp1E-RbVvZSTy1R8g.txt”)
重新使用地图
在地图上它在运行之前创建的只复制,由于没有改变文件的程序读取。所以,下面的命令不复制任何文件:
>>>系统(“hashedassets地图/ map.scss输入/ *。txt的输入/ * / *。txt的输出/”)
>>>系统(“hashedassets地图/ map.php输入/ *。txt的输入/ * / *。txt的输出/”)
>>>系统(“hashedassets地图/ map.js输入/ *。txt的输入/ * / *。txt的输出/”)
>>>系统(“hashedassets地图/ map.json输入/ *。txt的输入/ * / *。txt的输出/”)
>>>系统(“hashedassets地图/ map.sed输入/ *。txt的输入/ * / *。txt的输出/”)
>>>系统(“hashedassets地图/ map.jsonp输入/ *。txt的输入/ * / *。txt的输出/”)
>>>系统(“hashedassets地图/ map.txt输入/ *。txt的输入/ * / *。txt的输出/”)
如果我们触摸的输入文件之一,该文件将被读取,但不能复制,因为hashsum是一样的:
>>>系统(“触摸-t200504072214.12输入/ foo.txt的”)
>>>系统(“hashedassets地图/ map.json输入/ *。txt的输入/ * / *。txt的输出/”)
如果我们改变了文件的内容,它会得到一个新的名字:
>>>开放(“输入/ foo.txt的”,“W”)为文件:
... file.write(“foofoo”)
>>>系统(“hashedassets地图/ map.json输入/ *。txt的输入/ * / *。txt的输出/”)
RM“输出/ C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt”
CP“输入/ foo.txt的'输出/ QIDaFD7KLKQh0l5O6b8exdew3b0.txt”
如果然后列出该目录中的文件,注意旧文件'输出/ C-7Hteo_D9vJXQ3UfzxbwnXaijM.txt''是去了:
>>>系统(“LS输出/”)
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
如果我们删除创建的文件之一,它被重建:
>>>系统(“RM输出/ Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”)
>>>系统(“hashedassets地图/ map.json输入/ *。txt的输入/ * / *。txt的输出/”)
CP“输入/子目录/跳回到bar.txt''输出/ Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt”
>>>系统(“LS输出/”)
QIDaFD7KLKQh0l5O6b8exdew3b0.txt
Ys23Ag_5IOWqZCw9QGaVDdHwH00.txt
如果一个文件即将被删除,因为原来的内容改变,它不会重新创建:
>>>系统(“RM输出/ QIDaFD7KLKQh0l5O6b8exdew3b0.txt”)
>>>开放(“输入/ foo.txt的”,“W”)为文件:
... file.write(“foofoofoo”)
>>>系统(“hashedassets地图/ map.json输入/ *。txt的输入/ * / *。txt的输出/”)
CP“输入/ foo.txt的'输出/ NdbmnXyjdY2paFzlDw9aJzCKH9w.txt”
错误处理
然而,如果我们运行此不带参数,它失败:
>>>系统(“hashedassets”,外部= TRUE)
用法:hashedassets [选项] MAPFILE源[...] DEST

hashedassets:错误:您需要至少指定MAPFILE源和目标

要求

  • 在Python的

类似的软件

gentoo
gentoo

17 Feb 15

Contenido
Contenido

14 Apr 15

Linux File Renamer
Linux File Renamer

17 Feb 15

Krusader
Krusader

16 Aug 18

意见 hashedassets

评论没有发现
添加评论
打开图片!