Jackey's 感悟

Do Research

Monthly Archives: 七月 2012

Datasets from the standard db like UCI, are there any ones can be used for context-aware tests?

Advertisements

将文件夹下所有的形如*authoryear*的论文重命名为year-*authoryear*格式

论文多了,需要有良好的分类和目录结构,才有利于在知识上挖掘出更新的知识。

一直以来都是使用[author][year]这种方式命名论文文件,这个的好处是同一作者、同一 领域的论文能够 自动地按照author进行展示,不足的是要对整个领域的某一子领域进行分析不是非常方便,因此需要有方便的 文献管理工具,这里推荐jabref,因为使用它,你不必担负盗版的名声,同时,它也非常好用。

在文献管理工具中可以通过自动的排序(例如jabref中能够按照author、year的方式排序),也可以自己调整排序方式,很是 方便。按道理,有了文献管理工具,就不需要在文件夹中去翻来覆去地挑拣文献了,但是为了好看,我突然觉得[year]-[author] [year]的方式非常有趣。那么我们可以在jabref中的bibkey设置为[author][year]模式, 而在文件夹中设置成[year]-[author][year]模式,这可以在文献管理工具和论文写作上,同时在文件夹浏 览中取得 比较好的视觉效果折衷。

那么问题就是如何将上万个文件重命名,这肯定不能用F2+typing去做,会死人的,至少脑子会笨死的。 于是coding如下,最优先使用的当然是脚本语言了。于是最常用的shell脚本出炉一个(仍有一些bug存在)。

#! /bin/bash 
# rename files 
#  see gist https://gist.github.com/3188132
# TODO 
# 1. filename with more than one year number 
# a file name with more than one year number, like 
# Chen2000-tech-Guanling-Chen-TR2000-381, the shell doesn't # know how to deal with it, as the result of grep "-Po" returned 
# with two number "2000\n" and "2000" 
# 
# 2. filename with spaces 
# 3. same filename conflict

for filename in `find . -type f -and -name "*.nh" -or -name "*.kdh" -or -name "*.pdf" -or -name "*.ps" -or -name "*.ppt"` do
    echo "filename is $filename" 
    if [ -f "$filename" ]
    then
           dname=`dirname "$filename"` 
fname=`basename "$filename"` 
year=`echo "$fname" | grep -Po "^(19|20)\d{2}"` 
if [ $year ] 
then echo "begin with year number, ignored" continue fi year=`echo "$fname" | grep -Po "(19|20)\d{2}"` if [ $year ] then newname="$dname"/$year-"$fname" echo "new name is $newname" mv "$filename" "$newname" fi fi done

cygwin中直接打开windows文件或文件夹的方式

在cygwin中提供了cygstart工具和命令,可以方便地调用windows下默认的操作模式 打开一个文件或文件夹。

cygstart – start a program or open a file or URL

例如,我喜欢使用在windows下使用bash终端,那么cygwin是一种不错的选择; 另外,我希望在终端中进行操作的时候,能够用gvim来编辑文件,例如markdown文件。

那么,如果我在windows的markdown文件默认打开方式指定为gvim,那么对于一个markdown文件, 我仅需如此,即可直接用gvim打开。

cygstart xxx.md

这里假设xxx.md是要打开的markdown文件。

我觉得这是一种兼顾效率和喜好的良好方法。当然,最好的方式还是直接用一个合适的Linux发行版本。 而我现在缺乏时间去调教出一个适合自己的Linux发行版本,那么这种cygwin的方式还是不错。

BTW,cygwin称cyg*等一系列命令和工具为cygutils,这真是太方便。