Chinaunix首页 | 论坛 | 博客
  • 博客访问: 394367
  • 博文数量: 31
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 568
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-05 23:30
文章分类

全部博文(31)

文章存档

2011年(1)

2010年(2)

2009年(24)

2008年(4)

我的朋友

分类: LINUX

2009-01-21 23:30:03

零碎的东西,放在这里自己查找方便:)
 
判断一个文件是否为空:
line="`head -1 ./none`"; if [ -z "$line"] ; then echo "none"; else echo "got"; fi
 
find命令去除无权限输出:
find / -name libxml2.* 2>/dev/null
 
VI函数跟踪:
命令行模式下输入命令:  :!ctags -R *
ctrl + } 跟踪
ctrl + o 返回
 
VI删除行首行尾空格:
删除行首空格:%s/^\s\+//
删除行尾空格:%s/\s\+$//
 
VI显示换行符:
set list
 
Linux下批量删除空文件(大小等于0的文件)的方法
find . -name "*" -type f -size 0c | xargs -n 1 rm -f
 
删除指定大小的文件,只要修改对应的 -size 参数就行,例如:
find . -name "*" -type f -size 1024c | xargs -n 1 rm -f
就是删除1k大小的文件。(但注意不要用 -size 1k,这个得到的是占用空间1k,不是文件大小1k的)。
如果只要删除文件夹或者名字连接等,可以相应的改 -type 参数,具体细节见 man find
 
find ./ -size 0 -exec rm {} \;

find ./ -size 0 | xargs rm -f &

for file in *
do
   if[! -s  ${file} ]
   then
          rm ${file}
   fi
done
 
shell计算百分比:
 echo "scale=2;$a/$b*100"|bc
 
获取今天是星期几(数字0-6):
date +%w
 
:%s/old_word/new_word/g
这个指令用在整个文件中替换特定字符串

显示脚本的运行记录:sh -x

查看端口和程序对应
netstat   -anp
 
让环境支持中文:
export LC_ALL=zh_CN.GBK
export LANG=zh_CN.GBK
 
 
文件夹范围内(包括子目录)文件中的字符串替换:
perl:
perl -pi -e 's/oldStr/newStr/g' $(grep -lR oldStr *)
sed:
sed -i 's/oldStr/newStr/g' $(grep -lR oldStr *)
 
 
shell(awk)中取出xml标签:
awk ' BEGIN{FS= "[<>]"}{printf("%s\n",$3);}'
 
awk只输出某项值等于一个shell变量:
awk '{if(\$1==var) print}' var=${SHELL_VAR}
 
awk输出不换行:
1.输出时使用printf
2.输出后,利用tr -d ‘n’实现替换换行
3.awk ‘BEGIN{ORS=”"}{print $0;}’ //推荐
4.awk ‘{printf(“%s”,$0);}’
 
删除空行:
1,删除空行和空白字符组成的行: awk NF filename
2,仅删除空行:awk '/./' filename
sed /^[ ]*$/d tt
#the bracket contains a SPACE and a TAB
sed /^[[:space:]]*$/d
[[:space:]] 比 [[:blank:]]或[ ] 处理的情况更多一些.
阅读(1986) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~