实用基本程序

more/pg/less 逐屏显示文件

q           =》退出
/pattern    =》匹配字符串
/           =》继续查找匹配
more: 空格 显示下一屏   回车  上滚到下一行pg:   回车  显示下一屏  l     上滚到下一行
less: 可以使用上下左右 pgUP pgDn 等按键

cat/od 列出文件内容

cat   文本格式打印

od    逐字节打印od参数-t  x1 =》 16进制打印-c     =》  逐字符方式打印文件,遇到不可打印字符打印编码

head/tail

head -15 a  显示头15行
tail -f a   实时打印文件尾部被追加的内容

wc

列出文件中一共有多少行,有多少个单词,多少字符
当指定的文件数大于1时,最后还列出一个合计
常用选项-l:只列出行计数

sort 对文件内容进行排序

默认每行作为一个整体进行排序,进行的是字符串的排序,根据ASCII码进行排序,默认是升序

-n   对于数字按照算术值大小排序,而不是按照字符串比较规则-b   忽略每行前面开始出的空格字符。-c   检查文件是否已经按照顺序排序。-r   以相反的顺序来排序。

tee三通

将从标准输入stdin得到的数据抄送到标准输出stdout显示,同时存入磁盘文件中
ls -al | tee lsfile

正则表达式

元字符
.  *  [   \  ^  $

圆点,星号,反斜线在方括号内时,代表它们自己
^在开头,则表示与集合内字符之外的任意字符匹配

grep 在文件中查找字符串

grep pattern 文件名列表当找到pattern时,把对应的整行显示出来如果pattern用到了正则表达式,要用‘‘或者""引起来

egrep 与grep类似,可以使用扩展的正则表达式

+号表示1次或多次
?表示0次或一次
与星号地位类似,限定重复次数 \{m,n\} 例如:[1-9][0-9]\{6,8\}
表示逻辑或的符号 |
圆括号() : 表示分组

egrep 在指定模式方面比grep更灵活,但算法需要更多的处理时间 

fgrep 快速grep

按字符串搜索而不是按模式搜索。
fgrep运算速度快,适合于从大量的数据中进行检索指定字符串,不可按模式查找

grep/fgrep/egrep的选项

-n  显示时每行前面显示行号
-v  显示所有不包含模式的行(就是取非)
-i   字母比较时忽略字母的大小写

sed

sed ‘命令‘ 文件名列表
sed -f 命令文件  文件名列表

awk 文本处理语言

awk本身也是为了文本的过滤,打印出对应的文本行,这与grep是相似的

用法:
awk ‘程序’ 文件list
awk -f 程序存放的文件  文件list  =》把程序放在文件里

其中程序的格式是 condition {action}

awk内置的变量有

NR 当前记录编号
$0  当前记录
$1、$2... 记录中的第i个域
FILENAME 当前文件名

如果不指定条件,就是对所有航一起做action的处理。条件类似于C语言的<>= && ||  !等
对于使用正则表达式的condition: /pattern/

动作:
print x,y,z
printf("格式串",x,y,z)

awk覆盖了grep的全部功能

示例代码
$ ps -ef | awk ‘/guest/{ printf "%s ",$2 }‘
$cat test.c | awk ‘{printf "%d: %s\n",NR,$0 }‘  不做处理
$ who | awk ‘/^ *zhang / {printf("%s ", $2)}‘  

不管是awk还是grep这样的文本处理的工具都是按照行来做处理的,就是每一行都会去匹配条件,匹配成功了输出或者执行action

时间: 2024-11-06 00:56:16

实用基本程序的相关文章

PHP实用小程序(五)

<HTML> <HEAD> <TITLE>图像函数</TITLE> </HEAD> <BODY> <img src="64.jpg"> <br> <? $image_file = "64.jpg"; $image_size = getimagesize($image_file); print("图片的宽度:". $image_size[0].&q

PHP实用小程序(七)

<? //用COOKIE保存投票人的投票记录 if($vote && !$already_voted) SetCookie("already_voted","1"); ?> <html> <head> <title>简易投票系统</title> </head> <body alink="#FF0000" link="#000099"

PHP实用小程序(六)

<HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> <title>检测操作系统和浏览器类型</title> </HEAD> <body alink="#FF0000" link="#000099" vlink="#CC6600" t

PHP实用小程序(四)

<HTML> <HEAD> <TITLE>访问文件时间属性</TITLE> </HEAD> <BODY> <? $LastAccess = fileatime("data.txt"); print("文件最后的存取时间为:"); print(date("l F d, Y", $LastAccess)); print("<br>"); ?&

PHP实用小程序(一)

<? //设置路径(默认当前php文件所在路径) $basedir = "d:/inetpub/wwwroot"; $textrows = "20"; $textcols = "85"; if(!$wdir) $wdir="/"; //HTML的标头 function html_header(){ global $basedir; global $wdir; global $lastaction; echo "

PHP实用小程序(二)

<HTML> <HEAD> <TITLE>经典循环例子</TITLE> </HEAD> <BODY> <? for($counter = 1; $counter <= 6; $counter++) //循环6次 { print("<B>counter is $counter</B><BR>\n"); //打印6次 } ?> </BODY> </

PHP实用小程序(三)

<HTML> <HEAD> <TITLE>给数组增加元素</TITLE> </HEAD> <? $Cities[] = "<B>北京</B>"; //等同于$Cities[0] = "北京" $Cities[] = "<B>天津</B>"; //等同于$Cities[1] = "天津" $Cities[] = &q

给初级程序员的一封信

原文地址:http://www.maoyupeng.com/a-letter-for-programmer.html 1.牢记基础,领悟原理 无论各行各业,基础是最关键的.好比你是个大作家,结果老提笔忘字,提笔忘词,那么你又如何写出精美的文章呢.做程序开发也是如此,既要清楚基本技术,也要深刻领悟其原理,这样在以后的开发过程中才能运用自如. 2.精于数据库,了解操作系统 这一块,往往是新手忽视的,想要成为高手,必须精通这些.当然,对于刚刚入门的新手,可以一步一步的领悟.只有了解操作系统,掌握线程机

程序员必读书单

作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文地址:http://www.cnblogs.com/figure9/p/developer-reading-list.html 关于 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及延伸阅读.旨在成为最好最全面的程序员必读书单. 前言 Reading makes a full man; conference a ready man; and writing