红联Linux门户
Linux帮助

Linux下的文本查看及处理

发布时间:2014-11-27 21:35:38来源:linux网站作者:lovvvve

cat 查看文本内的信息
cat file1 file 2...
shift+pageup/pagedown 手动翻屏

tac  内容反过来显示

more  支持翻页  空格向后 一瓶  回车 向后 一行  b向前 一屏

more file1 file2 ...

less file1  file2

space/b 向后/向前  翻一屏
enter/k 向后/向前  翻一行
/字符串  搜索字符串  n像一个  N上一个
?字符串
  
-n  显示行号
-E  显示特殊控制字符  $ 行结束符 换行符
q键 退出


head file   显示文件头部 前几行  默认十行
-n 数字
-数字   显示前多少行
  
tail file  显示尾部多少行   默认十行
-n 数字
-数字   显示后多少行
-f

  
文本处理
文本过滤工具:
grep(只支持基本)  全局搜索正则表达式   egrep(支持扩展)  fgrep(不支持正则表达式)
RE 正则表达式  包含几个元字符
两类:基本和扩展不能同时使用
基本正则表达式:
^行首锚定符:grep "^bin" /etc/shells    显示在行首出现这些字符的
$行尾锚定符:grep "bin$" /etc/shells    要求字符串必须出现在行?
.匹配任意单个字符:
*匹配其前的字符任意次(包括0次)
x\{m,n\} x至少出现m次 至多出现n次
[]:指定范围内的任意字符
[^]:不匹配指定范围内的任意字符
\<    词首锚定符    \b
\>    词尾锚定符    \b
\(\)    \N     后向引用字符  引用第几个
.*    匹配任意长度的任意字符
                  
                  
扩展正则表达式:
^行首锚定符:grep "^bin" /etc/shells    显示在行首出现这些字符的
$行尾锚定符:grep "bin$" /etc/shells    要求字符串必须出现在行?
.匹配任意单个字符:
*匹配其前的字符任意次(包括0次)  
+匹配其前导字符一次或多次
?匹配其前导字符一次或零次
|或者  
()分组 把括号里的分为一组作为一个字符对待
{} ==\{\}(不可用了)
\(\) 不再支持
                                                                
           
grep '模式' 文件...
--color
-E 扩展正则表达式
-v反向过滤
-i 忽略大小写
-A数字  匹配到的这一行的前N行
-B数字    匹配到的这一行的后N行
-C数字    匹配到的这一行的前后N行
-o    表示进现实匹配到的字符串


cut:
-d 指定分隔符 默认是空格
-f 取第几段   1-3 一到三段 1, 3一和三段


文件排序:
#sort [options] files  默认升序
-r 实现降序
-n 按数值大小排序
-u 只显示一次重复的不予显示
sort -u  == uniq  连续的相同的行 才被认为是重复行
#uniq
-u 只显示不重复过的行
-d 只显示曾经重复过的行

#wc 统计文件包含多少文字字母行的
-l 只显示行数
-w 只显示单词
-c 只显示字符
#diff 比较文件的不行
#path 打补丁


sed  stream edite 流编辑器  行编辑器
#sed [option] {处理条件|处理规则}
#sed 'ADDR1,ADDR2/COMMAND' inpotfile
#sed '/PATTERN/PATTERN/COMMAND' intputfile  支持正则表达式对匹配到的行进行处理
#sed '/PATTERN,/PATTERN/PATTERN/COMMAND' intputfile  从第一次匹配到的行 开始到第二次匹配到的行结束
-n 只显示匹配到的行
-e 同时执行多个操作   -e '' -e '' -e '' -e'' ...
-i 直接对源文件进行操作
p  匹配到显示两边其他显示1遍
d:delete    删除被模式匹配到的行
a:append    在陪匹配到的行后面新增一行
i:insert    在陪匹配到的行前面新增一行
\n 换行符