文章标签 » shell

[bookmark]统计最常使用的命令

v2ex看到一条统计最常用命令的脚本,收藏一下~

$ history | awk '{CMD[$2]++;count++;} END { for (a in CMD )print CMD[ a ]" " CMD[ a ]/count*100 "% " a }' | grep -v "./" | column -c3 -s " " -t |sort -nr | nl | head -n10
1 167 33.4% vim
2 104 20.8% ls
3 75 15% make
4 25 5% cd
5 13 2.6% sshgo
6 11 2.2% telnet
7 11 2.2% sudo
8 10 2% find
9 5 1% mv
10 4 0.8% ps

from:http://v2ex.com/t/98373

shell下批量标记mp3标签

#设置歌手
mid3v2 -a "歌手" *.mp3
#设置专辑名
mid3v2 -A "专辑名" *.mp3
#用文件名标记mp3的title
find -name "*.mp3" | while read file;do mid3v2 -t "`echo $file|sed -e 's/^\.\///g' -e 's/.mp3$//g'`" "$file";done

———–
post by gmail~

shell中获取登录用户名

获取当前用户登录的终端号

lu@hualu-laptop:~$ tty|cut -d/ -f 3-
pts/2
lu@hualu-laptop:~$ ps |grep $$ |awk '{print $2}'
pts/2

如果大家都su到同一帐号下,$USER就不可信了,可以根据终端号查到真正的用户名

tty=`ps|grep $$|awk '{print $2}'`
user=`who|grep ${tty}|awk '{print $1}'`

参考:http://www.ixpub.net/thread-1460130-1-1.html

———–
post by gmail~

文件名转小写

rename版

rename -n "s#([A-Z])#\L\$1#g" *

shell

#!/bin/sh
find `test -n $1 && echo $1 || echo "./"` -type f | while read f;
do
    dname=`dirname "$f"`
    fname=`basename "$f"`
    nname=`echo "$fname"|tr "[:upper:]" "[:lower:]"`
    mv "${dname}/${fname}" "${dname}/${nname}" 2>/dev/null && echo "${dname}/${fname} -> ${dname}/${nname}"
done

———–
post by gmail~

shell:列出子目录的大小

偶尔看了一下磁盘状况,分给home的一百多G竟然快用光了
/dev/sda8 101G 80G 17G 84% /home

于是找出老早之前写的一句拿出来跑跑,列出所有上M的目录

ls -la|grep ^d|awk '{print $8}'|xargs -i du -sh {}|grep M

———–
post by gmail~