字元處理命令:sort, uniq, cut
sort命令
對字元進行排序。
[root@localhost ~]# cat test.txt
s 5d 6
e 1h 2
j 9s 5
h 2h 2
p 11
o 12
[root@localhost ~]# sort test.txt
d 6e 1
h 2h 2
h 2j 9
o 12
p 11
s 5s 5
# 注:經過對比得出,sort命令預設情況下對需要排序的物件的第一列進行排序。
引數-k(n) :指定列進行排序,預設情況下是以空格進行分割
[root@localhost ~]# sort test.txt
d 6e 1
h 2h 2
h 2j 9
o 12
p 11
s 5s 5
[root@localhost ~]# sort -k2 test.txt
e 1p 11
o 12
h 2h 2
h 2s 5
s 5d 6
j 9# 注:-k引數只對第乙個字元進行排序
**-n : 按照數值的大小進行排序
**[root@localhost ~]# sort -k2 test.txt **
e 1p 11
o 12
h 2h 2
h 2s 5
s 5d 6
j 9[root@localhost ~]# sort -nk2 test.txt
e 1h 2
h 2h 2
s 5s 5
d 6j 9
p 11
o 12
-r : 按照倒敘進行排序
[root@localhost ~]# sort -nk2 test.txt
e 1h 2
h 2h 2
s 5s 5
d 6j 9
p 11
o 12
[root@localhost ~]# sort -rnk2 test.txt
o 12
p 11
j 9d 6
s 5s 5
h 2h 2
h 2e 1
-t : 指定分隔符, 後面的排序按照分割符分割的列進行排序
[root@localhost ~]# sort -t ":" -rnk3 test.txt
polkitd❌999:998:user for polkitd:/:/sbin/nologin
習題# 複製/etc/passwd到/root/text.txt
cp /etc/passwd /root/text.txt
1、按照倒敘進行排序
sort -r /root/text.txt
2、按照:進行分割,第三列進行排序
sort -t ":" -nk3 /root/text.txt
uniq
對結果集進行去重。
[root@localhost ~]# sort test.txt
d 6e 1
h 2h 2
h 2j 9
o 12
p 11
s 5s 5
[root@localhost ~]# sort test.txt | uniq
d 6e 1
h 2j 9
o 12
p 11
s 5引數
-c : 顯示重複的次數
-d : 只顯示重複的列
[root@localhost ~]# sort test.txt | uniq -c
1 d 6
1 e 1
3 h 2
1 j 9
1 o 12
1 p 11
2 s 5
[root@localhost ~]# sort test.txt | uniq -c -d
3 h 2
2 s 5
-u: 只顯示不重複的列
[root@localhost ~]# sort test.txt | uniq -c
1 d 6
1 e 1
3 h 2
1 j 9
1 o 12
1 p 11
2 s 5
[root@localhost ~]# sort test.txt | uniq -c -u
1 d 6
1 e 1
1 j 9
1 o 12
1 p 11
習題# 複製/etc/passwd到/root/demo.txt
1、按照最後一列(以:進行分割)進行排序,去重
sort /root/demo.txt | uniq
2、按照最後一列(以:進行分割)進行排序,去重,重複的列
sort /root/demo.txt | uniq -d
cut
剪下檔案
[root@localhost ~]# sort -t ":" -nk3 /etc/passwd | cut -d ":" -f1,7
root:/bin/bash
bin:/sbin/nologin
引數-d : 指定分割符
[root@localhost ~]# sort -t ":" -nk3 /etc/passwd | cut -d ":" -f1,7
root:/bin/bash
bin:/sbin/nologin
-f : 指定顯示的列
[root@localhost ~]# sort -t ":" -nk3 /etc/passwd | cut -d ":" -f1,7
root:/bin/bash
#取出第一列和第七列
cat test.txt | cut -d ":" -f1,7
tr
刪除或替換結果集
格式tr [引數] [操作物件]
[root@localhost ~]# cat /etc/passwd | tr "root" "root"
root❌0:0:root:/root:/bin/bash
引數-d : 刪除結果集中的某個字元
[root@localhost ~]# cat /etc/passwd | tr -d "root"
❌0:0:
Shell 字元處理命令
shell 字元處理命令 排序命令sort root hh sort 選項 檔名 選項 f 忽略大小寫 n 以數值型進行排序,預設使用字串型排序 r 反向排序 t 指定分隔符,預設是製表符 k n,m 按照指定的字段範圍排序。從第n欄位開始,m欄位結束 預設到結尾 例子 sort t k 3,3 e...
Linux 字元處理命令
sort 選項 檔案 什麼都不加,預設按照首字母排序,預設以空格為分隔符。t 指定分隔符,預設使用空格為分隔符。k 指定第幾列。root oldboy cat sort.log sort t k2 218.65.30.124 17163 218.65.30.126 17163 218.65.30.2...
linux基礎之字元處理命令
目錄 sort 命令用於給檔案內容排序。格式 sort 引數 若無引數則預設按第乙個字元排序 cat 2.txt sort 1.2.1 sort 引數 n 按數值進行排序 cat 2.txt sort n 1.2.2 sort 引數 r 倒序 預設按第乙個字元進行倒序 cat 2.txt sort ...