麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統(tǒng) > Linux > 正文

Shell腳本學習指南之文本處理工具

2019-10-26 18:36:04
字體:
供稿:網(wǎng)友

4.1 排序文本

4.1.1 行的排序
未提供命令行選項時,整個記錄會根據(jù)當前l(fā)ocale所定義的次序排序。
在傳統(tǒng)的C locale中,也就是ASCII順序。

4.1.2 以字段排序
-k選項的后面接著的是一個字段編號,或者是一對數(shù)字。
每個編號后面都可以接一個點號的字符位置,或修飾符字母。

如果僅指定一個字段編號,則排序鍵值會自該字段的起始處開始,
一直繼續(xù)到記錄的結(jié)尾(而非字段的結(jié)尾)。

如果給的是一對用逗號隔開的字段數(shù)字,則排序鍵值將由第一個字段值的起始處開始,
結(jié)束于第二個字段值的結(jié)尾。使用點號表示字符位置。
-k2.4, 5.6指的是從第二個字段的第四個字符開始比較,一直比到第五個字段的第六個字符。
$ sort -t: -k1,1 /etc/passwd     以用戶名稱排序
bin:x:1:1:bin:/bin:/sbin/nologin
chico:x:12501:1000:Chico Marx:/home/chico:/bin/bash
harpo:x:12502:1000:Harpo Marx:/home/harpo:/bin/ksh
...

$ sort -t: -k3,3nr /etc/passwd     反省UID排序
或-k3nr,3或-k3,3 -n -r都可以。

4.1.3 文本塊的排序
有時需要對多行記錄組合而成的數(shù)據(jù)排序。以地址清單為例:
$ cat my-friends
# SORTKEY: Schlo, Hans Jurgen
Hans Jurgen Schlo
Unter den Linden 78
D-10117 Berlin
Germany

# SORTKEY: Jones, Adrian
...

技巧是:利用awk識別段落間隔,在每個地址內(nèi)暫時使用一個未用過的字符取代分行。
sort看到的行就會變成這樣:
# SORTKEY: Schlo, Hans Jurgen^ZHans Jurgen Schlo^ZUnter den Linden 78^Z...
cat my-friends |               讀取地址文件
     awk -v RS=" " '{ gsub("/n", "^Z"); print }' |    轉(zhuǎn)換地址為單行
          sort -f |           排序地址數(shù)據(jù),忽略大小寫
               awk -v ORS="/n/n" '{ gsub("^Z", "/n"); print }' |  恢復(fù)行結(jié)構(gòu)
                    grep -v '# SORTKEY'   刪除標記行
1. 函數(shù)gsub()為全局性替換(global substitution),類似sed下的s/x/y/g結(jié)構(gòu)。
2. RS變量時輸入數(shù)據(jù)的記錄分隔器(Record Separator)。
   通常輸入數(shù)據(jù)以換行隔開,使每行成為單個記錄。
    RS=" "是一個特殊用法,指的是記錄以空行隔開。
3. ORS是輸出記錄分隔器。
注:'{ action }'是對每個字段的操作,而RS,ORS都是對記錄的設(shè)定。

4.1.5 sort的穩(wěn)定性
sort并不穩(wěn)定。

4.2 刪除重復(fù)
sort -u是依據(jù)匹配的鍵值進行消除操作,而非匹配的記錄。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产美女自拍av | 男男羞羞视频网站国产 | 精品中文字幕久久久久四十五十骆 | 精品一区二区三区毛片 | 国产a一级片 | 日韩一级片一区二区三区 | 免费小毛片| 国内精品久久久久久影视8 嫩草影院在线观看网站成人 | www.91视频com | 国产免费乱淫av | 一区播放 | 亚洲嫩草av | 五月婷婷第四色 | 蜜桃av鲁一鲁一鲁一鲁 | 亚洲aⅴ免费在线观看 | wwwxxx免费视频 | 日本欧美在线播放 | 国产日韩欧美 | 欧美在线观看视频一区 | 免费国产精品视频 | 中国av免费在线观看 | 91九色精品 | 日日狠狠久久 | 91精品片 | 国产亚洲精久久久久久蜜臀 | 偷偷草网站 | 亚洲国产精品高潮呻吟久久 | 大逼逼影院| 亚洲人成免费 | 伦一区二区三区中文字幕v亚洲 | 国产午夜精品一区二区三区不卡 | 亚洲一区免费观看 | 香蕉视频网站在线观看 | 精品国产一区二区三区久久久蜜 | 色诱亚洲精品久久久久久 | 91国内精品久久久久免费影院 | 姑娘第四集免费看视频 | 国产精品视频在线观看免费 | 久久精品中文字幕一区 | 国产麻豆久久 | 国产正在播放 |