分类:
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结尾的文件
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