linux 文字排序 合併和分割 轉

2021-07-09 12:05:18 字數 4819 閱讀 6253

sort [選項] [輸入檔案](文字排序)

選項:-c 測試檔案是否已經被排序

-k 指定排序的域

-m 合併兩個已排序的檔案

-n 根據數字大小進行排序

-o[輸出檔案] 當輸出寫到指定的檔案

-r 將排序結果逆向顯示

-t 改變域分隔符

-u 去除結果中的重複行

示例:1、以第二列排序

[sleep@localhost greptest]$ sort -t: -k2 

frut.txt

pingguo:

:12:lhwl:2012-11-01

xiangjiao:banana:14:lhwl:2012-09-09

juzi:orange:10:lhzxt:2012-10-11

shizi:shizi:8:herj:2012-12-08

2、以第三列**排序

[sleep@localhost greptest]$ sort -t: -k3 -n 

frut.txt 

(sort -t: -k3n 

frut.txt)

shizi:shizi:8:herj:2012-12-08

juzi:orange:10:lhzxt:2012-10-1112:lhwl:2012-11-01

xiangjiao:banana:14:lhwl:2012-09-09

3、以第三列**倒序排列

[sleep@localhost greptest]$ sort -t: -k3nr 

frut.txt

xiangjiao:banana:14:lhwl:2012-09-0912:lhwl:2012-11-01

juzi:orange:10:lhzxt:2012-10-11

shizi:shizi:8:herj:2012-12-08

uniq [選項] [檔案] (去除文字重複的行,只有相鄰的行,重複才去除,隔行不去除)

選項:-c 列印每行在文字中重複出現的次數

-d 只顯示有重複的記錄,每個重覆記錄只出現一次

-u 只顯示沒有重複的記錄

1、uniq 和 sort -u 的區別

[sleep@localhost greptest]$ cat frut.txt

juzi:orange:10:lhzxt:2012-10-11

juzi:orange:10:lhzxt:2012-10-11

boluo:boluo:12:2012-11-11

juzi:orange:10:lhzxt:2012-10-11

xiangjiao:banana:14:lhwl:2012-09-09

shizi:shizi:8:herj:2012-12-08

[sleep@localhost greptest]$ sort -t: -u frut.txt

boluo:boluo:12:2012-11-11

juzi:orange:10:lhzxt:2012-10-11

shizi:shizi:8:herj:2012-12-08

xiangjiao:banana:14:lhwl:2012-09-09

[sleep@localhost greptest]$ uniq frut.txt

juzi:orange:10:lhzxt:2012-10-11

boluo:boluo:12:2012-11-11

juzi:orange:10:lhzxt:2012-10-11

xiangjiao:banana:14:lhwl:2012-09-09

shizi:shizi:8:herj:2012-12-08

2、顯示文字重複的次數

[sleep@localhost greptest]$ uniq -c frut.txt

2juzi:orange:10:lhzxt:2012-10-11

1 boluo:boluo:12:2012-11-11

1juzi:orange:10:lhzxt:2012-10-11

1 xiangjiao:banana:14:lhwl:2012-09-09

1 shizi:shizi:8:herj:2012-12-08

cut [選項] 檔案 (提取文字)

選項:-c 指定提取的字元數或字元範圍 -cn 第n個字元 -cn,m 第n個和第m個字元 -cn-m 第n到m個字元

-f 指定提取的域數或範圍

-d 改變域分隔符

示例:1、提取第乙個字元

[sleep@localhost greptest]$ cut -c1 frut.txtpj

jbjx

s2、提取第乙個和第五個字元

[sleep@localhost greptest]$ cut -c1,5 frut.txt

pgj:

j:bo

j:xg

si3、提取第乙個到第五個字元

[sleep@localhost greptest]$ cut -c1-5 frut.txt

pingg

juzi:

juzi:

boluo

juzi:

xiang

shizi

4、提取第三域和第五域

[sleep@localhost greptest]$ cut -d: -f3,5 frut.txt

12:2012-11-01

10:2012-10-11

10:2012-10-11

12:2012-11-11

10:2012-10-11

14:2012-09-09

8:2012-12-08

paste [選項] 檔案1 檔案2  (將檔案黏貼到一起)

選項:-d 設定新的分隔符,預設是空格或tab

-s 將每個檔案黏貼成一行

- 從標準輸入中讀取資料

示例:1、合併animal.txt和frut.txt以@作為分割符

[sleep@localhost greptest]$ paste -d@ animal.txt frut.txt

cat@juzi:orange:10:lhzxt:2012-10-11

dog@juzi:orange:10:lhzxt:2012-10-11

bord@boluo:boluo:12:lhsjs:2012-11-11

tiger@juzi:orange:10:lhzxt:2012-10-11

@xiangjiao:banana:14:lhwl:2012-09-09

@shizi:shizi:8:herj:2012-12-08

2、合併animal.txt和frut.txt以@作為分割符,每個檔案為一行

[sleep@localhost greptest]$ paste -sd@ animal.txt frut.txt

fish@cat@dog@bord@tiger

[sleep@localhost greptest]$

split [選項] 待切割的大檔案 輸出的小檔案(分割文字)

選項:-或-1 指定切割成小檔案的行數

-b 指定切割成小檔案的位元組

-c 與-b類似,切割時盡量維持每行的完整性

示例:1、將animal每兩行進行分割 預設「x」開頭

[sleep@localhost greptest]$ split -2 animal.txt

[sleep@localhost greptest]$ ll

-rw-rw-r-- 1 sleep sleep 

9 oct 18 22:54 xaa

-rw-rw-r-- 1 sleep sleep 

9 oct 18 22:54 xab

-rw-rw-r-- 1 sleep sleep 

6 oct 18 22:54 xac

2、將frut.txt以100字元進行分割

[sleep@localhost greptest]$ split -b100 frut.txt

[sleep@localhost greptest]$ ll

-rw-rw-r-- 1 sleep sleep 

100 oct 18 22:57 xaa

-rw-rw-r-- 1 sleep sleep 

100 oct 18 22:57 xab

-rw-rw-r-- 1 sleep sleep 

27 oct 18 22:57 xac

[sleep@localhost greptest]$ split -c100 frut.txt

-rw-rw-r-- 1 sleep sleep 

97 oct 18 22:58 xaa

-rw-rw-r-- 1 sleep sleep 

100 oct 18 22:58 xab

-rw-rw-r-- 1 sleep sleep 

30 oct 18 22:58 xac

numpy 陣列的合併和分割

匯入numpy import numpy as np數字的分割 np.vstack tupel 豎直合併 np.hstack tupel 水平合併 a np.array 1 2,3 b np.array 2 3,4 c np.vstack a,b c array 1,2,3 2,3,4 d np.h...

python中numpy合併和分割

兩個矩陣或序列進行合併 a np.array 1,1,1 b np.array 2,2,2 print np.vstack a,b 上下合併 vertical stack d np.hstack a,b 左右合併 horizontal stack 上下合併結果為 1,1,1 2,2,2 左右合併 1...

SHELL 文字檔案的分類,合併和分割

sort sort video.txt result.out sort c video.txt 通知sort檔案是否按某種順序已分類 sort c video sort t video.txt 以 分割,基於第乙個域sort的結果 sort t r video.txt 逆向 sort t 1 vid...