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