Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7305911
  • 博文数量: 444
  • 博客积分: 10593
  • 博客等级: 上将
  • 技术积分: 3852
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-09 15:26
文章分类

全部博文(444)

文章存档

2014年(1)

2013年(10)

2012年(18)

2011年(35)

2010年(125)

2009年(108)

2008年(52)

2007年(72)

2006年(23)

分类:

2009-05-15 14:16:17

从最简单的开始.
注意备份
grep -v root < /etc/passwd
(注意root没了.)
grep root < /etc/passwd
(只剩root)
grep -A 10 -B 10 fcicq /etc/passwd
(打印上下文,上10行下10行)
head /etc/passwd
tail /etc/passwd
(一个头,一个尾.)
tr -s ' ' somefile
(清理空格)

awk -F”:” ‘{ print $1,$3 }’ /etc/passwd
cut -d”:” -f1,3 /etc/passwd
(冒号分割,也可以用’ ‘ - tab之类.)
awk -F”:” ‘{ print $1,($3+1) }’ /etc/passwd
(可以进行数学运算,注意都+1了)
awk ‘{ print $0″
” }’ < unixfile > dosfile
(unix -> dos,就是在末尾+
)
sed -e s/pattern/newstr/g filename > newfile
(替换pattern->newstr,freebsd的要换成-E)
sed -n 1,5p filename
(显示1-5行 - 这种任务应该交给head)
uniq -c xxx
(清理重复,显示重复数目)
wc -l xxxx
(这个文件有几行?)
sort -r
(倒着来)
sort -n
(按数字排)
awk ‘BEGIN{sum=0}{sum=sum+$0}END{print sum}’ test.txt
(数字求和)

你觉得差不多了?
ok.
给你个日志,让你求一下该站的流量情况,呵呵.
一个无关的例子:
awk -F’|’ ‘{a[$5]+=$4}END{for(i in a)printf(”%s %d
“,i,a[i])}’ datafile | sort

csplit -k -f dgckfhz dz3090100.unl.bak 970000 {99}

将dz3090100.unl.bak 分割成按照每个文件970000行,文件以dgckfhz开头以00-99结尾的文件

阅读(1217) | 评论(4) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-02-18 10:47:23

将文件最后一列替换成竖线| sed 's/.$/|/' 22.tsv>22new.tsv

chinaunix网友2009-07-21 11:47:40

用sed替换行中的某一列怎么写?比如我想替换第二列为asdf 1---sed -e '2c\asdf' filename 2---sed 's/^\([^ ]* *\)[^ ]\+/\1adfg/'------sed 's/^\([^ ]* *\)[^ ]\+/\1asdf/' 3---awk '{$2="'tmp'"; print}' file 4---awk '{print $1,"asdf", $3, $4}' file > newfile

chinaunix网友2009-07-21 11:39:00

sed 's/\(number=\)[0-9]\{1,5\}/\1const/g ' file 把文件里面number=从1位到5位数字的行里面数字替换成const

chinaunix网友2009-07-21 11:35:40

sed '/number=12345/{/s/12345/const/g}' 在number=12345的行里把12345替换成const