首页 » 开发 » 实用小程序

Bash小程序

将文件名全部转为大写

for f in *; do mv $f `echo $f | tr '[:lower:]' '[:upper:]'`; done

根据文件长度,删除指定文件

目标:某个路径下,有效文件都是xx.gif格式,无效文件的文件名都超过6个字符。找出无效文件并删除。

解决:用awk搭配xargs删除。

查找(执行删除前先确认目标文件)

$ ls |awk 'length > 6'
_clear.gif
icLogo.gif
lg-share-en.gif
logoShopper.gif
myAccount.gif

删除

$ ls |awk 'length > 6'|xargs rm 
$ ls |awk 'length > 6'|wc -l
0

对文件中的每一行执行指定命令

读出文件每一行,并显示其内容

#!/bin/bash
while read line 
do  
    echo $line;
done < "websites.txt"

用curl发现指定网站所用的WebServer以及编码信息(curl输出有下载进度条信息,重定向到/dev/null):

#!/bin/bash
while read line 
do
    website=$line;
    echo $website
    curl -I $website 2 > /dev/null|egrep "Server|Content-Type.*charset"
    echo
done < "websites.txt"

批量修改文件名

当前目录下有一批名为"abcxxx-1.jpg"的文件,把"-1"去掉:

#!/bin/bash
files=`find ./ -iname "abc*-1.jpg"`
for f in $files; do  
    nf=`echo $f|sed 's/-1//g'`
    echo "change file name from $f -> $nf"
    mv $f $nf 
done

JavaScript小程序

为缩写字符染色

目标:缩写字符首字母染色,如:ECMA(European Computer Manufacturers Association)。

解决:1. 将目标串用<span class="abbr">括起来:

ECMA(<span class="abbr">European Computer Manufacturers Association</span>)

2. 找到所有.abbr遍历之,切割其中包含的字符串,将首字母用另一个span括起来。

$(".abbr").each(function(){
    var ws = $(this).text().split(" ");
    var res = "";
    $.each(ws, function(i, w){
        res += "<span class=\"abbrc\">" + w[0] + "</span>" + w.substring(1, w.length) + " ";
    });
    $(this).html(res.substring(0, res.length - 1));
}

分享

0