资源描述:
《shell学习笔记(1)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、shell学习笔记(1)shell不同其它高级语言,它所处理的问题比较专一:字符,正是因为“字符”才使得很多基础的东西容易让人迷惑。建议先看看以下三篇文档,再自行学习其它的:一、shell基础十二篇http://bbs2.chinaunix.net/thread-452942-1-1.html二、shell十三问http://bbs2.chinaunix.net/thread-218853-1-1.html三、bash中文man手册(bash官方文档)http://wenku.baidu.com/view/605b590102020740b
2、e1e9b7c.html1、查找当前目录下非隐藏文件find!-name".*"-maxdepth1-typefls-al
3、grep-v'[[:space:]].'ls-lls-al
4、grep-v'.'2、显示所有目录/非目录1.ls-d*/2.ls-ld*/3.ls--file-type
5、grep-v/$
6、tr'''';echo--表示后面的参数即使它以“-”开始,都不是命令的选项。3、创建文件四种方法:1、touch2、>file3、cat>file4、edit5、cat>4、显示文本的行数grep-n".*"data.fsed
7、=filenamecat-n[-b]filenamenl5、以下三者精确匹配48,是等价的(在本文档环境下)grep'48>'data.fgrep48[^0-9]data.fgrep"48"data.f6、查询行首不是4、8,以下等价grep-v'^[48]'data.fgrep'^[^48]'data.f7、grep扩展模式grep-E'219
8、216'data.f等价于grep'21[96]'data.f8、使用国际字符模式或匹配的类名形式grep'5[[:upper:]][[:upper:]]'data.f等价于grep'
9、5[A-Z][A-Z]'data.f9.查看文件控制字符sed-n'1,$l'data.f或者cat-vfilename10.route/netstat-r/netstat-rn11.NR,表示awk开始执行程序后所读取的数据行数.FNR,与NR功用类似,不同的是awk每打开一个新文件,FNR便从1重新累计.在看一个例子关于NR和FNR的典型应用:现在有两个文件格式如下:#cataccount张三
10、000001李四
11、000002#catcdr000001
12、10000001
13、20000002
14、30000002
15、15想要得到的结果是将用户名,帐
16、号和金额在同一行打印出来,如下:张三
17、000001
18、10张三
19、000001
20、20李四
21、000002
22、30李四
23、000002
24、15执行如下代码#awk-F
25、'NR==FNR{a[$2]=$0;next}{printa[$1]"
26、"$2}'accountcdr注释:由NR=FNR为真时,判断当前读入的是第一个文件account,然后使用{a[$2]=$0;next}循环将account文件的每行记录都存入数组a,并使用$2第2个字段作为下标引用.由NR=FNR为假时,判断当前读入了第二个文件cdr,然后跳过{a[$2]=$0;next},对第
27、二个文件cdr的每一行都无条件执行{printa[$1]"
28、"$2},此时变量$1为第二个文件的第一个字段,与读入第一个文件时,采用第一个文件第二个字段$2为数组下标相同.因此可以在此使用a[$1]引用数组。12.cut-d:-f1,2test.txt
29、tail-1cut[选项]…[文件]…选项说明:-b,–bytes=LIST以字节为单位取出固定字节区间-c,–characters=LIST以字符为单位取出固定字符区间-d,–delimiter=DELIM指定分隔符来代替默认的TAB分隔符-f,–fields=LIST依据-d指定的分隔符
30、将一段内容分割成为数段,用-f取出第几段的意思-nwith-b:不分隔多字节字符–complement补充选定的字节,字符集或字段-s,–only-delimited不打印不包含分隔符的行–output-delimiter=STRING使用String作为输出分隔符,默认的是使用输入分隔符示例:cut-d:-f1,5/etc/passwd用冒号作为分隔符打印文本列,显示第一和第五列13.sort-t:+1vegetables此命令序列排序vegetables文档,对每一行上第一个冒号后的文本进行比较。+1告诉sort命令忽略第一字段,从第二
31、字段的开始到该行的结束进行比较。-t:标志告诉sort命令冒号分隔字段。14.shell脚本函数要调用传值,在函数名后接上$1,$2等。15.grep高亮匹配显示:exportG