linux關於處理文本內容的命令
最近學習了 一些處理文本內容的命令今天總結一下,以便以後復習!
以下命令只列出了一些常用參數.
uniq 命令
uniq 命令不加參數可以刪除文件中的重復行(這些重復的行必須相鄰,不相鄰不能去除).
-c 在輸出行前面加上每行在輸入文件中出現的次數;
-d 僅顯示重復行;
-u 僅顯示沒有重復過的行。
命令模式: uniq [參數] 文件 這個簡單不舉例子了!
sed 命令
sort 命令
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是表示連接的字段參數, 這裡表示第一個文件的第一列和第二個文件的第一列關聯