linux關於處理文本內容的命令!!

最近學習了 一些處理文本內容的命令今天總結一下,以便之後複習!  less

如下命令只列出了一些經常使用參數. 學習

uniq 命令 spa

uniq 命令不加參數能夠去除出文件中重複行(這些重複的行必須相鄰,不相鄰不能去除). .net

-c 在輸出行前面加上每行在輸入文件中出現的次數;  code

-d 僅顯示重複行;  blog

-u 僅顯示沒有重複過的行 字符串

命令模式: uniq [參數]  文件         這個簡單不舉例子了! sed


sed 命令  這個內容太多去這看 http://my.oschina.net/denglz/blog/111163 file


sort 命令 im

sort將文件的每一行做爲一個單位,相互比較,比較原則是從首字符向後,依次按ASCII碼值進行比較,最後將他們按升序輸出。

sort 不加參數升序排列

-r倒序排列;  

-n 防止10排在2的前面; 

-t ":" 定義分隔符爲冒號; 

-k 3 選擇第三部分. 

例子: sort -rn -t : -k 3 /etc/passwd   以":"分割passwd按照第三部分倒序排列文件中的行.


cut命令

cut命令能夠從一個文本文件或者文本流中提取文本列。

-d  :後面接分隔字符。與 -f 一塊兒使用; 
-f  :依據 -d 的分隔字符將一段信息分割成爲數段,用 -f 取出第幾段的意思; 
cat  /etc/passwd | cut -d ':' -f 1,3    用:分割passwd文件取出passwd文件的第一列第三列

cat  /etc/passwd |cut -d ':' -f 1-3   用:分割passwd文件取出passwd文件的第一列第三列


head 和 tail 命令!

最基本的是cat、more和less。 
1. 若是你只想看文件的前5行,能夠使用head命令,如: 
head -5 /etc/passwd 
2. 若是你想查看文件的後10行,能夠使用tail命令,如: 
tail -10 /etc/passwd 或 tail -n 10 /etc/passwd 
tail -f /var/log/messages 
參數-f使tail不停地去讀最新的內容,這樣有實時監視的效果 用Ctrl+c來終止! 
3. 查看文件中間一段,你能夠使用sed命令,如: 
sed -n '5,10p' /etc/passwd 
這樣你就能夠只查看文件的第5行到第10行


join 命令

join命令能夠合併輸出兩個有相同格式的文件的內容!

-a1表示 顯示第一個文件中不匹配的行,即爲left join

-a2 表示 顯示第二個文件中不匹配的行,即爲right join

-o 1.1 2.1 -o是輸出參數,1.1表示輸出第一個文件的第一列;2.1表示輸出第二個文件的第一列

-t "|" 是分隔符參數, 表示指定|做爲域分隔符

-j 1.1 2.1  -j是表示鏈接的字段參數, 這裏表示第一個文件的第一列和第二個文件的第一列關聯


tr 命令

# cat file | tr -d "Snail" > new_file
 
【注意】這裏,凡是在file文件中出現的'S','n','a','i','l'字符都會被刪除!而不是牢牢刪除出現的"Snail」字符串。
# cat file | tr [a-z] [A-Z] > new_file  把new_file 文件中全部的小寫字母都替換成大寫字母!!
相關文章
相關標籤/搜索