初学linux

来源:互联网 发布:集贤第一中学网络空间 编辑:程序博客网 时间:2024/06/06 02:14

1.vi编辑下:普通模式下(即输入模式下按esc)
dd 删除某一行,
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本

2.awk

awk '{print $7}' newlog.txt|awk -F '[?;]' '{print $1}'|wc -l

参考
http://www.cnblogs.com/52fhy/p/5836429.html
3.grep
grep -o ‘“GET|”POST’ log1.txt log2.txt | wc -l
-c 只输出匹配行的计数
-i 不区分大小写(单字符)
-h 不显示文件名(多文件时)
-l 只输出文件名(多文件时)
-n 显示匹配行及行号
-s 不显示错误信息
-v 显示不包含匹配文本的所有行

--color=auto 自动高亮找到的关键词

注意:grep + 变量
比如:a.txt 中有userid,我们需要遍历得到userid,然后从b.txt中查找userid的相关内容
cat a.txt | while read line
do
interface=(grepoline newlog.txt|wc -l);
if [ interface!=0]thenecholine number: interface>>2.txtfidonegrepoline b.txt 并找不到相关内容,那是因为你把a.txt文件从windows 下拷贝到linux 中换行符号有差异导致,需要在linux中重新建a.txt,或者用代码解决他们之间的不同。
4.sort
sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式:
sort [-bcfMnrtk][源文件][-o 输出文件]
补充说明:sort可针对文本文件的内容,以行为单位来排序。
参 数:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-f 排序时,忽略大小写字母。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o <输出文件>将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t <分隔字符>指定排序时所用的栏位分隔字符。
-k 选择以哪个区间进行排序。

sort -o result.txt -r -t ‘:’ -k 2 -n result.txt
将result.txt按照:进行分割选择第二个区间按数值进行降序排序
下面是排序之后的结果:

/enterprise/login.html number: 4852
/invoice/getinvoice.html number: 4778
/enterprise/acquireerror.html number: 1478
/enterprise/setinfo.html number: 621
/user/login.html number: 471

5.字符串拼接
path=/var/tmp/
echo ${path}”result.txt”

6.遍历文件中的每一行

cat path/interfaces.txt|whilereadlinedointerface=(grep -o linepath/newlog.txt|wc -l);
if [ interface!=0]thenecholine number: interface>>path/result.txt
fi
done

1 0
原创粉丝点击