歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux 下的文本查看及處理

Linux 下的文本查看及處理

日期:2017/2/28 15:58:25   编辑:Linux教程

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 換行符

Copyright © Linux教程網 All Rights Reserved