这是个很简单的需求,可是API只提供了一个几乎没什么用的函数remove-dir 要求目录必须为空。因此我写了一个函数来递归删除目录树:(define (make-sure-folder-path-end-of-slash dir-path)
(if (!= (last dir-path) "/")
(push "/" dir-path -1)
)
dir-path
)...
分类:
其他好文 时间:
2014-09-06 16:10:33
阅读次数:
348
经常由于磁盘空间不足的原因,需要删除旧文件,因此希望有一个函数,能够查找到某个时间点之前的文件,并删除之。用newLISP来实现的话,需要类似这样的功能:(FILE:locate-modified-file file-path start-time end-time)start-time指的是修改时间的开始, end-time指的是修改时间的结束,按照习惯,这是一个左闭右开区间: [start-t...
分类:
其他好文 时间:
2014-08-31 02:49:00
阅读次数:
239
一个简单的递归函数,可以遍历目录树中的所有文件,传递另一个处理函数,该函数可以接受文件路径作为参数,从而决定如何处理。下面是调用例子:#!/usr/bin/newlisp
(load "file.lsp")
(define (show-file file...
分类:
其他好文 时间:
2014-08-31 01:40:50
阅读次数:
257
使用newLISP 的标准mysql模块或者Artful Code模块都得到的中文乱码。解决方法如下:首先确保mysql内部设置的是UTF-8,但是用newlisp查看的时候,仍然一部分时latin.用下面的命令可以解决:> (MySQL:query "SET character_set_client = utf8;")
true
(MySQL:query "SET character_set_...
分类:
数据库 时间:
2014-07-21 16:13:13
阅读次数:
211
因为MongoDB支持执行JavaScript文件查询,所以newlisp就可以通过这种方式获得查询结果。下面是我的newlisp模块:(context 'MONGO_JS_TOOL)
(define (query db-name js-file)
(set 'cmd (format "mongo localhost/%s %s" db-name js-file))
(set 'r (...
分类:
数据库 时间:
2014-07-20 22:16:13
阅读次数:
300
比如需要生成sqoop import语句,用newlisp脚本:(set 'import-cmd (format "%s/sqoop-import --options-file media_options.txt --table %s --where \"ID = 2\" --target-dir %s -m 1 --fields-terminated-by '%s' --lines-term...
分类:
其他好文 时间:
2014-06-11 07:06:00
阅读次数:
351
构建一个list注意要标记不要求值,比如用‘ 或者list> (list "a" "b" "c")
("a" "b" "c")或者> '("a" "b" "c")
("a" "b" "c")
查找在一个全是string的list中用正则表达式查找查找第一个匹配到的元素:> (set 'l '("WARNING: org.apache.hadoop.metrics.jvm.EventCounter...
分类:
其他好文 时间:
2014-06-08 16:23:41
阅读次数:
243
总是报错:root@gitlab:/opt# newlispnewLISP v.10.6.0
64-bit on Linux IPv4/6 UTF-8 libffi, options: newlisp -h> (load
"/opt/mysql.lsp")ERR: string expected i...
分类:
数据库 时间:
2014-06-06 20:55:10
阅读次数:
298
这里要用到date函数的第三种形式,下面是获得当前日期(set 'today (date (date-value) 0 "%Y%m%d"))
(date-value) 返回的是1970年0点累计的秒数,作为date函数的地一个参数第二个参数是偏移的分钟,0表示没有偏移,就是现在。 这个参数主要用来做时区转换第三个参数定义日期格式,参考下表:formatdescription%aabbreviate...
分类:
其他好文 时间:
2014-06-02 10:56:56
阅读次数:
477
今天遇到一个问题,在终端里运行newLISP脚本,一切正常,移动到crontab中就不行。即便crontab -e命令运行在同一个用户下,还是有问题。由于newLISP脚本要用到hive和hadoop,估计是环境变量的问题。所以先用newLISP shell运行(env)命令,将当前环境变量记录到文件evn.lsp中。然后在newLISP脚本中加载之。下面是env.lsp文件部分内容:(set '...
分类:
其他好文 时间:
2014-06-01 10:26:57
阅读次数:
330