您的位置:首页 > 大数据 > 人工智能

用commons-email-1.1.jar实现邮件发送

2012-05-09 10:15 316 查看
grep -b6 'UPDATE award SET remain = remain - 1 WHERE id= ***' logbin.000039.log | grep 'INSERT INTO score_exchange_log'

grep -a2 'INSERT INTO award_exchange_log' logbin.000040.log |grep '"***"'

grep "cpaint_function=ajax_change_award" 1610 |grep http://award.snjifen.com/award_change.php\?id=528 --color

grep '09/Nov/2010:16:15' access_log.20101109 |grep -Ev "image|style" >1615

grep -a2 'INSERT INTO award_exchange_log' logbin.000040.log |grep '"528"'

grep '/jinjin' acc_log.20110109 |grep -Ev "css|images" |less

grep '/jinyin HTTP/1.1' acc_log.20110109 -c 访问数

ll logbin.*.log -h 文件列表显示每个文件大小

awk -F"," '{print $1}' jisuandaoda_5_xian.txt >jisuandaoda_5.1.txt

for i in `seq -w 00 60` ; do echo -n "$i : " ; grep -c "2010:16:$i" 162.log ; done

grep -a1 'award_exchange_log' 45.log | grep '530' | wc -l
39

grep -R "UPDATE award SET remain = remain - 1 WHERE id=" *

-R的意思是递归的对目录下的所有文件(包括子目录)进行 grep。
比如 grep -R main src
就会搜索src目录下所有文件中是否包含 main 这个字符串。

例子:^_13400602921^_ 前后有字符串 可以awk截取
awk '{print substr($1,3,11)}' mm_xue_11_test.csv

例子:470555^IM-7M-"M-JM-G^I18729180294^IM-IM-BM-NM-w^IM-NM-wM-0M-2M-JM-P^I^I2.01011E+13^I2.01011E+13^I1^Iheaven0000477@sohu.com^M$
通过cat -A 全部大印显示

grep -w -o '1[358][0-9]\{9\}' a_cyonlineuser_22_20101201.txt

cat -A /data/website/tmp/file/a_cyonlineuser_22_20101201.txt |awk -F"_" '{print $3}' |sed 's/\^//g'|less

刪除沒有內容的空白行:
g/^$/d

刪除包含有空格组成的空白行:
g/^\s*$/d

除以空格或tab开头到结尾的空白行:
g/^[ |\t]*$/d

vi中怎么删除重复行?
使用冒号命令
:sort u

有时候,我们在 Linux 中打开曾在 Win 中编辑过的文件时,会在行尾看到 ^M 字符。虽然,这并不影响什么,但心里面还是有点不痛快。如果想要删除这些 ^M 字符,可以使用 Vim 来轻松搞定它。

在 Vim 的命令模式中输入

:%s/^M$//g

后,回车即会自动删除该文件中的所有 ^M 字符。

那么,这句命令到底是什么意思呢?% 指匹配整个文件,s 是置换的意思,

^M 注意要用 Ctrl + V Ctrl + M 来输入,M 后面的 $ 代表匹配行尾的内容,最后的 g 则表示每行中匹配到的内容都要置换。

理解了命令的含义,就好变通使用了,比如说,要将某个文件中的 Vim 全部替换成 VIM,则可以使用这样的命令:

:%s/Vim/VIM/g

另外的一个解决方案是使用dos2unix命令: dos2unix xxxx.txt

$ awk '/^(no|so)/' test-----打印所有以模式no或so开头的行。

$ awk '/^[ns]/{print $1}' test-----如果记录以n或s开头,就打印这个记录。

$ awk '$1 ~/[0-9][0-9]$/(print $1}' test-----如果第一个域以两个数字结束就打印这个记录。

$ awk '$1 == 100 || $2 < 50' test-----如果第一个或等于100或者第二个域小于50,则打印该行。

$ awk '$1 != 10' test-----如果第一个域不等于10就打印该行。

$ awk '/test/{print $1 + 10}' test-----如果记录包含正则表达式test,则第一个域加10并打印出来。

$ awk '{print ($1 > 5 ? "ok "$1: "error"$1)}' test-----如果第一个域大于5则打印问号后面的表达式值,否则打印冒号后面的表达式值。

$ awk '/^root/,/^mysql/' test----打印以正则表达式root开头的记录到以正则表达式mysql开头的记录范围内的所有记录。如果找到一个新的正则表达式root开头的记录,则继续打印直到下一个以正则表达式mysql开头的记录为止,或到文件末尾。

转摘 awk 学习笔记 http://www.linux.gov.cn/shell/awk.htm

awk 小记 http://www.chinaunix.net/jh/24/691456.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: