字元處理命令

2022-06-29 02:45:08 字數 4094 閱讀 5090

字元處理命令: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 ...