sort排序 正規表示式

2021-10-13 19:56:33 字數 2705 閱讀 8268

語法格式:

sort [選項] 引數

cat file | sort 選項

常用選項:

-f:忽略大小寫,缺省會將大寫字母排在前面

-b:忽略前導區域的區域

-n:按照數字進行排序

-r:反向排序

-u:等同於uniq,表示相同的資料僅顯示一行

-t:指定字段分隔符,預設使用[tab]鍵分隔

-k:指定排序字段在這裡插入**片

-o《輸出檔案》:將排序後的結果轉存至指定檔案

sort -n testfile2

sort -t ':' -k 3 -n /etc/passwd

du -a i sort -nr -o du.txt

1

用於報告或者忽略檔案中連續的重複行,常與sort命令結合使用-----------------------------

語法格式:

uniq [選項] 引數

cat file | uniq 選項

常用選項:

-c:統計連續重複的數的次數並刪除檔案中重複出現的行,僅顯示一行

-d:僅顯示連續的重複行

-u:僅顯示出現一次的行

uniq testfile3

sort -n testfile3 | uniq -c

常用來對來自標準輸入的字元進行替換、壓縮和刪除-------------------------------------

語法格式:

tr [選項] [引數,不能是檔案]

常用選項:

-c:保留字符集1的字元,其他的字元(包括換行符\n)用字符集2替換

-d:刪除所有屬於字符集1的字元

-s:將重複出現的字串壓縮為乙個字串;用字符集2替換字符集1

-t:字符集2替換字符集1,不加選項同結果。

引數:字符集1:指定要轉換或刪除的原字符集。當執行轉換操作時,必須使用引數「字符集2"指定轉換的目標字符集。但執行刪除操作時,不需要引數"字符集2";

字符集2:指定要轉換成的目標字符集。

echo "abc" | tr 'a-z' 'a-z『

echo -e "abc\ncabcdab" | tr -c "ab\n" "0"

echo -e "abc\ncabcdab" i tr -c "ab" "0"

echo 'hello world' | tr -d 'od'

echo "thissss is a text linnnnnnne." | tr -s 'sn'

刪除空行

echo -e "aa\n\n\n\n\nbb" | tr -s "\n"

cat testfile4 | tr -s "\n"

把路徑變數中的冒號":",替換成換行符"\n"

echo $path | tr -s ":" "\n"

echo -e "aa\n\n\n\n\nbb" | tr -s "\n" ":"

刪除windows檔案「造成『^m』字元:

cat file | tr -s "\r" "\n" > new_file

或cat file | tr -d "\r" > new file

linux中遇到換行符("\n")會進行回車+換行的操作,回車符反而只會作為控制字元('^m')顯示,不發生回車的操作。

而windows中要回車符+換行符("\r\n")才會回車+換行,缺少乙個控制符或者順序不對都不能正確的另起一行。

(linux的'^m'相當於windows的\r,屬於不相容的問題)

echo $ | tr ' ' '\n' | sort -n > newfile

a=0for i in $(cat file)

doarray[$a]

let a++

或arrary+=($i)

done

通常用於判斷語句中,用來檢查某一字串是否滿足某一格式

正規表示式是由普通字元與元字元組成

元字元是指在正規表示式中具有特殊意義的專用字元,可以用來規定其前導字元(即位於元字元前面的字元)在目標物件中的出現模式

基礎正規表示式常見元字元:(支援工具:grep、egrep、sed、awk)

\:轉義字元,用於取消特殊字元的含義,例:\!、\n、\$等

^:匹配字串開始的位置,例:^a、^the、^#、^[a-z]

$:匹配字串結束的位置,例:word$、^$匹配空行

.:匹配除\n之外的任意乙個字元,例:go.d、g..d

*:匹配前面子表示式0次或多次,例:goo*d、go.*d

[list]:匹配list列表中的乙個字元,例:go[oal]d,[abc],[a-z],[a-z0-9],[0-9]匹配任意乙個字元

[^list]:匹配任意非list列表中的乙個字元,例:[^0-9]、[^0-9a-z]、[^a-z]

\:匹配前面的子表示式n次,例:go\d、'[0-9]\'匹配兩位數字

\:匹配前面的子表示式不少於n次,例:go\d、'[0-9]\'匹配兩位即兩位以上數字

\:匹配前面的子表示式n到m次,例:go\d、'[0-9]\'匹配兩到三位數字

注:egrep、awk使用(n)、(n,)、(n,m)匹配時「{}」前不用加「\」

Linux shell正規表示式 sort

sort工具是乙個以行為單位對檔案內容進行排序的工具,也可以根據不同的資料型別來排序。sort 命令的語法為 sort 選項 引數 其中常用的選項包括以下幾種 f 忽略大小寫 b 忽略每行前面的空格 m 按照月份進行排序 n 按照數字進行排序 r 反向排序 u 等同於 uniq,表示相同的資料僅顯示...

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...