精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在命令行用sort進行排序

系統 Linux
在 Linux、BSD 或 Mac 的終端中使用 sort 命令,按自己的需求重新整理數據。

[[284953]]

在 Linux、BSD 或 Mac 的終端中使用 sort 命令,按自己的需求重新整理數據。

如果你曾經用過數據表應用程序,你就會知道可以按列的內容對行進行排序。例如,如果你有一個費用列表,你可能希望對它們進行按日期或價格升序抑或按類別進行排序。如果你熟悉終端的使用,你不會僅為了排序文本數據就去使用龐大的辦公軟件。這正是 sort 命令的用處。

安裝

你不必安裝 sort ,因為它向來都包含在 POSIX 系統里。在大多數 Linux 系統中,sort 命令來自 GNU 組織打包的實用工具集合中。在其他的 POSIX 系統中,像 BSD 和 Mac,默認的 sort 命令不是 GNU 提供的,所以有一些選項可能不一樣。本文中我盡量對 GNU 和 BSD 兩者的實現都進行說明。

按字母順序排列行

sort 命令默認會讀取文件每行的第一個字符并對每行按字母升序排序后輸出。兩行中的第一個字符相同的情況下,對下一個字符進行對比。例如:

  1. $ cat distro.list
  2. Slackware
  3. Fedora
  4. Red Hat Enterprise Linux
  5. Ubuntu
  6. Arch
  7. 1337
  8. Mint
  9. Mageia
  10. Debian
  11. $ sort distro.list
  12. 1337
  13. Arch
  14. Debian
  15. Fedora
  16. Mageia
  17. Mint
  18. Red Hat Enterprise Linux
  19. Slackware
  20. Ubuntu

使用 sort 不會改變原文件。sort 僅起到過濾的作用,所以如果你希望按排序后的格式保存數據,你需要用 >tee 進行重定向。

  1. $ sort distro.list | tee distro.sorted
  2. 1337
  3. Arch
  4. Debian
  5. [...]
  6. $ cat distro.sorted
  7. 1337
  8. Arch
  9. Debian
  10. [...]

按列排序

復雜數據集有時候不止需要對每行的第一個字符進行排序。例如,假設有一個動物列表,每個都有其種和屬,用可預見的分隔符分隔每一個“字段”(即數據表中的“單元格”)。這類由數據表導出的格式很常見,CSV(以逗號分隔的數據comma-separated values)后綴可以標識這些文件(雖然 CSV 文件不一定用逗號分隔,有分隔符的文件也不一定用 CSV 后綴)。以下數據作為示例:

  1. Aptenodytes;forsteri;Miller,JF;1778;Emperor
  2. Pygoscelis;papua;Wagler;1832;Gentoo
  3. Eudyptula;minor;Bonaparte;1867;Little Blue
  4. Spheniscus;demersus;Brisson;1760;African
  5. Megadyptes;antipodes;Milne-Edwards;1880;Yellow-eyed
  6. Eudyptes;chrysocome;Viellot;1816;Southern Rockhopper
  7. Torvaldis;linux;Ewing,L;1996;Tux

對于這組示例數據,你可以用 --field-separator (在 BSD 和 Mac 用 -t,在 GNU 上也可以用簡寫 -t )設置分隔符為分號(因為該示例數據中是用分號而不是逗號,理論上分隔符可以是任意字符),用 --key(在 BSD 和 Mac 上用 -k,在 GNU 上也可以用簡寫 -k)選項指定哪個字段被排序。例如,對每行第二個字段進行排序(計數以 1 開頭而不是 0):

  1. sort --field-separator=";" --key=2
  2. Megadyptes;antipodes;Milne-Edwards;1880;Yellow-eyed
  3. Eudyptes;chrysocome;Viellot;1816;Sothern Rockhopper
  4. Spheniscus;demersus;Brisson;1760;African
  5. Aptenodytes;forsteri;Miller,JF;1778;Emperor
  6. Torvaldis;linux;Ewing,L;1996;Tux
  7. Eudyptula;minor;Bonaparte;1867;Little Blue
  8. Pygoscelis;papua;Wagler;1832;Gentoo

結果有點不容易讀,但是 Unix 以構造命令的管道方式而聞名,所以你可以使用 column 命令美化輸出結果。使用 GNU column

  1. $ sort --field-separator=";" \
  2. \--key=2 penguins.list | column --table --separator ";"
  3. Megadyptes   antipodes   Milne-Edwards  1880  Yellow-eyed
  4. Eudyptes     chrysocome  Viellot        1816  Southern Rockhopper
  5. Spheniscus   demersus    Brisson        1760  African
  6. Aptenodytes  forsteri    Miller,JF      1778  Emperor
  7. Torvaldis    linux       Ewing,L        1996  Tux
  8. Eudyptula    minor       Bonaparte      1867  Little Blue
  9. Pygoscelis   papua       Wagler         1832  Gentoo

對于初學者可能有點不好理解(但是寫起來簡單),BSD 和 Mac 上的命令選項:

  1. $ sort -t ";" \
  2. -k2 penguins.list | column -t -s ";"
  3. Megadyptes   antipodes   Milne-Edwards  1880  Yellow-eyed
  4. Eudyptes     chrysocome  Viellot        1816  Southern Rockhopper
  5. Spheniscus   demersus    Brisson        1760  African
  6. Aptenodytes  forsteri    Miller,JF      1778  Emperor
  7. Torvaldis    linux       Ewing,L        1996  Tux
  8. Eudyptula    minor       Bonaparte      1867  Little Blue
  9. Pygoscelis   papua       Wagler         1832  Gentoo

當然 -k 不一定非要設為 2。任意存在的字段都可以被設為排序的鍵。

逆序排列

你可以用 --reverse(BSD/Mac 上用 -r,GNU 上也可以用簡寫 -r)選項來顛倒已經排好序的列表。

  1. $ sort --reverse alphabet.list
  2. z
  3. y
  4. x
  5. w
  6. [...]

你也可以把輸出結果通過管道傳給命令 tac 來實現相同的效果。

按月排序(僅 GNU 支持)

理想情況下,所有人都按照 ISO 8601 標準來寫日期:年、月、日。這是一種合乎邏輯的指定精確日期的方法,也可以很容易地被計算機理解。也有很多情況下,人類用其他的方式標注日期,包括用很名字隨意的月份。

幸運的是,GNU sort 命令能識別這種寫法,并可以按月份的名稱正確排序。使用 --month-sort-M)選項:

  1. $ cat month.list
  2. November
  3. October
  4. September
  5. April
  6. [...]
  7. $ sort --month-sort month.list
  8. January
  9. February
  10. March
  11. April
  12. May
  13. [...]
  14. November
  15. December

月份的全稱和簡寫都可以被識別。

人類可讀的數字排序(僅 GNU 支持)

另一個人類和計算機的常見混淆點是數字的組合。例如,人類通常把 “1024 kilobytes” 寫成 “1KB”,因為人類解析 “1 KB” 比 “1024” 要容易且更快(數字越大,這種差異越明顯)。對于計算機來說,一個 9 KB 的字符串要比諸如 1 MB 的字符串大(盡管 9 KB 是 1 MB 很小一部分)。GNU sort 命令提供了--human-numeric-sort-h)選項來幫助正確解析這些值。

  1. $ cat sizes.list
  2. 2M
  3. 12MB
  4. 1k
  5. 9k
  6. 900
  7. 7000
  8. $ sort --human-numeric-sort
  9. 900
  10. 7000
  11. 1k
  12. 9k
  13. 2M
  14. 12MB

有一些情況例外。例如,“16000 bytes” 比 “1 KB” 大,但是 sort 識別不了。

  1. $ cat sizes0.list
  2. 2M
  3. 12MB
  4. 16000
  5. 1k
  6. $ sort -h sizes0.list
  7. 16000
  8. 1k
  9. 2M
  10. 12MB

邏輯上來說,這個示例中 16000 應該寫成 16 KB,所以也不應該全部歸咎于GNU sort。只要你確保數字的一致性,--human-numeric-sort 可以用一種計算機友好的方式解析成人類可讀的數字。

隨機排序(僅 GNU 支持)

有時候工具也提供了一些與設計初衷相悖的選項。某種程度上說,sort 命令提供對一個文件進行隨機排序的能力沒有任何意義。這個命令的工作流讓這個特性變得很方便。你可以用其他的命令,像 shuf ,或者你可以用現在的命令添加一個選項。不管你認為它是一個臃腫的還是極具創造力的用戶體驗設計,GNU sort 命令提供了對文件進行隨機排序的功能。

最純粹的隨機排序格式選項是 --random-sort-R(不要跟 -r 混淆,-r--reverse 的簡寫)。

  1. $ sort --random-sort alphabet.list
  2. d
  3. m
  4. p
  5. a
  6. [...]

每次對文件運行隨機排序都會有不同的結果。

結語

GNU 和 BSD 的 sort 命令還有很多功能,所以花點時間去了解這些選項。你會驚異于 sort 的靈活性,尤其是當它和其他的 Unix 工具一起使用時。 

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2009-10-26 18:09:31

Oracle用戶解鎖

2014-02-12 10:11:08

掃描病毒掃描Clam Antivi

2018-12-12 09:44:07

Linux命令行時間管理

2010-05-31 11:42:32

MySQL基本命令

2021-01-14 08:47:55

Linux命令行打印

2023-03-28 08:40:22

命令行JSON用法

2018-05-04 09:15:35

PythonPlumbum命令行

2016-03-28 10:00:09

Swift命令程序

2022-02-08 13:24:49

LinuxLinux命令

2022-02-08 17:19:05

Linux命令grep

2010-02-23 16:06:58

Python 命令行

2021-07-15 13:32:12

Linux生成密碼

2021-07-15 13:25:43

LinuxPDF

2020-12-11 06:44:16

命令行工具開發

2020-12-10 16:16:08

工具代碼開發

2010-06-23 14:28:23

LINUX Bash

2021-12-06 11:38:17

命令Glances工具

2021-08-10 09:07:28

命令行Linux發行版

2009-02-18 20:20:40

autojump更改目錄命令行下

2014-09-11 10:33:06

Linux
點贊
收藏

51CTO技術棧公眾號

久久精品国产亚洲精品| 日韩欧美中文免费| 国产精品18毛片一区二区| 日韩欧美不卡视频| 精品国产乱码久久久久久果冻传媒 | 欧美日韩一区二区三区视频| 天堂а√在线中文在线| 免费在线黄色网址| 国产精品99久久久久久宅男| 538国产精品一区二区在线| 九九九视频在线观看| **爰片久久毛片| 欧美亚一区二区| 美脚丝袜脚交一区二区| 99精品老司机免费视频| www.一区二区| 成人日韩av在线| 久久久久久91亚洲精品中文字幕| 国产精品videosex性欧美| 亚洲精品大尺度| 欧美视频亚洲图片| 345成人影院| 亚洲激情在线播放| 日本精品二区| 香蕉久久国产av一区二区| 九九**精品视频免费播放| 国产91精品久久久久| 免费在线观看a级片| 欧美禁忌电影网| 亚洲精品久久久久久久久久久| 五月天婷婷在线观看视频| 国产精成人品2018| 色偷偷成人一区二区三区91| 性一交一乱一伧国产女士spa| 久久综合网导航| 中文字幕乱码一区二区免费| 久久久久久久久一区二区| 亚洲黄色在线播放| 国产激情视频一区二区三区欧美| 成人激情视频网| 毛片在线免费播放| 久久国产欧美| 2019中文在线观看| 国产精品18p| 欧美先锋影音| 欧美黑人巨大xxx极品| 91人妻一区二区三区蜜臀| 欧洲激情综合| 中文字幕欧美日韩| 天天舔天天操天天干| 欧美日中文字幕| 日韩精品有码在线观看| 美女又爽又黄视频毛茸茸| 精品福利网址导航| 亚洲激情在线观看| 给我看免费高清在线观看| 网曝91综合精品门事件在线| 亚洲精品一区中文| 短视频在线观看| 国产伦精品一区二区三区千人斩 | 亚洲自拍小视频免费观看| 国产在成人精品线拍偷自揄拍| 久久国产乱子精品免费女| 国产精品日韩专区| 国产免费久久久| 国产精品一区二区你懂的| 成人免费视频视频在| 免费a视频在线观看| 99久免费精品视频在线观看| 久久久久久久久久久一区| 国产一级在线观看| 国产精品第13页| 特级西西444| 国产激情在线播放| 欧美性大战久久久| 欧美视频亚洲图片| 成人性生交大片免费看中文视频 | 欧美在线综合视频| 日韩在线不卡一区| 一区二区网站| 亚洲天堂男人的天堂| 91禁男男在线观看| 综合五月婷婷| 5278欧美一区二区三区| 中文字幕永久在线视频| 国产一区二区伦理| 蜜桃视频在线观看成人| 秋霞成人影院| 亚洲午夜久久久久久久久电影网 | 99在线视频精品| 日韩欧美一区二区视频在线播放| 老司机精品影院| 亚洲18色成人| 污色网站在线观看| 成人午夜网址| 日韩最新免费不卡| 中日韩精品视频在线观看| 免费在线观看视频一区| 鬼打鬼之黄金道士1992林正英| 九一国产在线| 亚洲愉拍自拍另类高清精品| 日本免费观看网站| 成人激情自拍| 久热精品视频在线观看| 特级西西444www大精品视频免费看| 久久99久久久欧美国产| 精品国产乱码久久久久久88av| yiren22亚洲综合伊人22| 亚洲午夜激情网页| 女同激情久久av久久| 欧美尿孔扩张虐视频| 久久亚洲欧美日韩精品专区| 日日骚av一区二区| 成人一区二区三区| 在线视频福利一区| 高潮一区二区| 亚洲电影天堂av| 一区二区国产精品精华液| 久久久综合网| 国产一区免费在线观看| 超碰在线caoporn| 91国偷自产一区二区三区观看 | 亚洲视频久久久| 91日韩一区二区三区| 91精品国产毛片武则天| 日韩精品一级毛片在线播放| 国产亚洲精品91在线| 中文字幕亚洲高清| 国产成a人亚洲精| 婷婷视频在线播放| 亚洲色图综合| 色妞欧美日韩在线| 这里只有精品国产| 国产亚洲一区二区三区四区 | 久久久夜色精品| 精品亚洲欧美一区| 亚洲午夜精品国产| 素人一区二区三区| 中文字幕欧美视频在线| 日本丰满少妇做爰爽爽| 国产欧美日韩在线| 国产一线二线三线在线观看| 国产精品中文字幕亚洲欧美| 国产精品99导航| 韩日视频在线| 色8久久人人97超碰香蕉987| 亚洲区自拍偷拍| 免费视频一区| 欧美一区二区影视| 一呦二呦三呦精品国产| 在线电影欧美日韩一区二区私密| 最近日韩免费视频| 亚洲欧洲日韩在线| 99九九99九九九99九他书对| 欧美高清视频手机在在线| 成人黄色短视频在线观看| 黄视频网站在线看| 日韩一级精品视频在线观看| 国产奶水涨喷在线播放| 91免费小视频| 欧美一级黄色影院| 91视频综合| 91久久精品日日躁夜夜躁国产| 国产在线观看91| 精品国产乱码久久久久久影片| 欧美人妻一区二区| 99在线精品视频| 国产成人综合一区| 97视频精品| 99r国产精品视频| 欧美极品videos大乳护士| 精品亚洲夜色av98在线观看| 国产精华7777777| 亚洲欧美怡红院| 日韩成人av影院| 午夜亚洲影视| 国产高清免费在线| 东京久久高清| 国产精品久久久久久久久久免费| 精品国产99久久久久久| 国产欧美精品一区二区三区介绍| 亚洲 高清 成人 动漫| 久久婷婷国产| 国产精品www网站| 麻豆av在线免费看| 欧美精品一区男女天堂| 精品国产xxx| 亚洲人成网站色在线观看| 波多野结衣视频播放| 男女男精品视频| 成品人视频ww入口| 久久国产精品亚洲人一区二区三区| 91免费看蜜桃| 欧美日韩视频网站| 精品中文字幕乱| 极品美乳网红视频免费在线观看 | 国产精品丝袜黑色高跟鞋| 午夜日韩在线电影| 色婷婷粉嫩av| eeuss影院一区二区三区| 污网站免费在线| 在线视频亚洲| 蜜臀在线免费观看| 国产中文字幕一区二区三区| 不卡视频一区二区三区| 日韩精品第一| 午夜美女久久久久爽久久| 欧美尤物美女在线| 亚洲美女免费精品视频在线观看| 精品国产无码一区二区| 欧美亚一区二区| 在线免费黄色av| 亚洲一区二区四区蜜桃| 亚洲一二三在线观看| 国产日韩综合av| 国产精品无码永久免费不卡| 国产ts人妖一区二区| 日韩va在线观看| 男人的j进女人的j一区| 国产在线观看福利| 一区二区三区福利| 国产一区二区三区乱码| 欧美在线影院| 中文字幕欧美日韩一区二区| 精品视频久久| 日韩国产欧美一区| 伊人久久大香线蕉综合网蜜芽 | 国产美女视频免费看| 日本网站在线观看一区二区三区| 日本韩国欧美在线观看| 伊人精品在线| 精品无码国产一区二区三区av| 欧美激情第8页| 久久久无码中文字幕久...| 国产高清欧美| 在线一区亚洲| 99久久激情| 亚洲 欧洲 日韩| 国产精品福利在线观看播放| 亚洲欧洲日本国产| 色88久久久久高潮综合影院| 亚洲区一区二区三区| 欧州一区二区| 亚洲第一导航| 全球成人免费直播| 欧洲一区二区在线观看| 国产中文字幕一区二区三区| 日韩欧美精品久久| 波多野结衣一区| 亚洲国产精品视频一区| 四虎8848精品成人免费网站| 亚洲一区二区不卡视频| 先锋资源久久| 国产资源第一页| 国精品一区二区三区| 日韩国产成人无码av毛片| 国产精品草草| 国产午夜福利在线播放| 日韩影院在线观看| 五月婷婷丁香色| 国产一区二区三区黄视频| 两性午夜免费视频| 成人午夜免费电影| 无套内谢大学处破女www小说| 久久精品视频一区二区三区| 色www亚洲国产阿娇yao| 日韩毛片一二三区| 国产精品成人免费一区二区视频| 午夜精品视频一区| 一级特黄免费视频| 日韩视频在线观看一区二区| 男人天堂网在线视频| 日韩国产欧美区| 91在线视频| 欧美极品在线视频| 国产精品字幕| 5566av亚洲| 尤物tv在线精品| 影音先锋男人的网站| 在线观看亚洲| 久久99999| 成人白浆超碰人人人人| 国产真人做爰视频免费| 一区二区三区视频在线看| 天天干天天干天天干天天| 欧美二区三区91| 日本精品久久久久久| 中文字幕亚洲欧美| 欧美hdxxxx| 国产精品夜色7777狼人| 91精品久久久久久综合五月天| 欧美日韩一区二区三| 亚洲综合激情在线| 日韩精品无码一区二区三区免费| 韩国欧美国产1区| 欧美狂猛xxxxx乱大交3| 伊人婷婷欧美激情| 国产精品露脸视频| 亚洲精品国产欧美| 爆操欧美美女| 日韩女优在线播放| 超碰成人在线观看| 在线观看精品视频| 久久人人精品| 视频免费在线观看| 亚洲品质自拍视频| 97人妻精品视频一区| 亚洲高清久久网| av黄在线观看| 国产欧美日韩亚洲精品| 亚洲婷婷伊人| 久久久亚洲国产精品| 国产乱子轮精品视频| 国产性猛交xx乱| 色综合久久久久综合体桃花网| 亚洲欧美另类综合| 久久久999精品| 福利一区和二区| 欧美12av| 国产日韩欧美一区| 国产精品果冻传媒| 一区二区三区在线视频播放| 一区二区三区免费观看视频| 亚洲无限av看| 欧美人体一区二区三区| 久久免费一区| 亚洲精品欧美| 丰满少妇xbxb毛片日本| 亚洲欧美色综合| 91精东传媒理伦片在线观看| 正在播放欧美视频| 日韩精品影院| 日韩欧美在线一区二区| 视频一区二区三区中文字幕| 91玉足脚交白嫩脚丫| 亚洲第一福利一区| 理论片中文字幕| 久久久久久久国产| 高清欧美性猛交xxxx黑人猛| 妞干网视频在线观看| 成人性生交大合| 国产一级一片免费播放| 精品国产电影一区二区| 欧美aaa免费| 精品免费视频123区| 国产视频久久| 国产精品无码久久久久久| 欧美日韩在线免费| 欧美日韩免费做爰大片| 国产91色在线| 三上亚洲一区二区| 无码人妻少妇色欲av一区二区| 亚洲精品国产精华液| 丰满肉嫩西川结衣av| 国内精品久久久久久影视8| 欧美一性一交| 99久久激情视频| 国产欧美视频一区二区三区| 在线观看国产小视频| 欧美精品在线观看| 狠狠久久伊人| 麻豆av免费在线| 亚洲欧洲精品一区二区三区| 国产激情视频在线播放| 久久露脸国产精品| 少妇精品久久久一区二区三区| 欧美黄色性生活| 亚洲精品国产成人久久av盗摄| 亚洲精品无码专区| 欧洲永久精品大片ww免费漫画| 欧美日韩国产在线观看网站| 国产精品久久久久久久99| 亚洲国产人成综合网站| 国产在线一二三区| 亚洲wwwav| 亚洲免费影视| 熟女少妇a性色生活片毛片| 精品国产伦一区二区三区观看方式 | 亚洲午夜av在线| 欧洲综合视频| 成人国产精品色哟哟| 日韩一区二区免费看| 性少妇xx生活| 欧美精品一区二区在线观看| 香蕉成人影院| 久久久久99精品成人片| 欧美国产日韩精品免费观看| www.色呦呦| 国产精品精品视频一区二区三区| 欧美视频一区| 日韩视频在线观看免费视频| 欧美sm极限捆绑bd| 成人黄色在线| 欧美综合在线播放| 最新不卡av在线| 日本一卡二卡四卡精品| 1区1区3区4区产品乱码芒果精品| 免费一区视频| 国产一级片视频| 精品国产自在精品国产浪潮|