精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产综合自拍| 综合在线影院| 成人h动漫精品一区二区| 91精品国产一区| 一级片视频免费看| 91精品国产66| 一区二区三区欧美日韩| 久久综合毛片| 国产免费久久久| 国产日韩专区| 久久精品国产久精国产一老狼| 免费久久99精品国产自| 中文在线免费看视频| 欧美一区国产在线| 亚洲区一区二区| 日本在线视频播放| 中文字幕资源网在线观看免费 | 波多野结衣人妻| 91精品国产自产在线观看永久∴ | 国产欧美高清在线| 精品1区2区在线观看| 一级在线免费视频| 日韩电影毛片| 一区二区三区四区高清精品免费观看 | 亚洲精品国产精品国自产观看| 九九热在线视频播放| 岛国在线大片| 久久国内精品自在自线400部| 国产一区二区免费| 久草免费资源站| 91天天综合| 欧美性色视频在线| 97超碰在线人人| av免费在线观看网址| 国产女人aaa级久久久级| 精品国产91亚洲一区二区三区www 精品国产_亚洲人成在线 | 中文字幕 自拍偷拍| 亚洲久久视频| 欧美二区乱c黑人| 欧美手机在线观看| 欧美系列电影免费观看| 亚洲美女av电影| av网站免费在线播放| 国产精品18hdxxxⅹ在线| 制服丝袜激情欧洲亚洲| 91激情视频在线| 三级成人黄色影院| 色综合天天性综合| 九一国产精品视频| av老司机免费在线| 亚洲国产人成综合网站| 乱熟女高潮一区二区在线| 精品孕妇一区二区三区| 中文字幕一区二区日韩精品绯色| 99伊人久久| 国产老女人乱淫免费| 九九视频精品免费| 成人精品视频在线| 国产精品视频a| 国产美女精品在线| 亚洲最大成人网色| 性生活三级视频| 高潮精品一区videoshd| 国产v亚洲v天堂无码| www.黄色片| 国产成人在线网站| 国产女人水真多18毛片18精品| 中文av免费观看| 男男视频亚洲欧美| 成人国产精品一区二区| 99在线精品视频免费观看软件| 在线视频精品| 国产精品草莓在线免费观看| 中文字幕 视频一区| 美女www一区二区| 91网站免费观看| 亚洲欧美激情在线观看| 99精品久久99久久久久| 欧美一级二级三级| 欧美激情二区| 亚洲福中文字幕伊人影院| 97成人在线观看视频| 欧美日韩尤物久久| 日韩亚洲欧美在线| 北岛玲一区二区| 日韩在线欧美| 欧美国产一区二区三区| 五月婷婷激情视频| 精品无码三级在线观看视频| 国产精品theporn88| 欧美日韩伦理片| 亚洲欧洲av在线| 少妇大叫太大太粗太爽了a片小说| 乱人伦中文视频在线| 一区二区三区视频在线观看| 欧美丰满熟妇bbbbbb百度| 成人18视频在线观看| 69久久夜色精品国产69蝌蚪网| 日韩手机在线观看视频| 国产成人精品一区二区三区免费| 色网站国产精品| 国产不卡的av| 妖精一区二区三区精品视频 | 国产婷婷在线观看| 欧美日本成人| 欧美成年人视频网站欧美| av大片在线免费观看| 久久精品国产**网站演员| 国产福利久久精品| av一本在线| 午夜精品视频在线观看| 蜜桃福利午夜精品一区| 亚洲欧美日本伦理| 欧美美女操人视频| 天天操天天干天天摸| 国产99精品国产| 亚洲a∨一区二区三区| 91福利在线尤物| 欧美一区二区精品在线| 亚洲天堂岛国片| 亚洲在线网站| 国产美女99p| av大片在线| 欧美另类久久久品| 国产又粗又猛又爽又黄av| 在线欧美日韩| 亚洲xxxxx性| 天堂中文а√在线| 在线观看av一区| 久久久久亚洲av无码专区桃色| 欧美天天综合| 日韩av免费在线看| 四虎影院在线播放| 香蕉加勒比综合久久| 成人三级做爰av| 日韩欧美一区免费| 国产精品久久久精品| 日本天堂影院在线视频| 午夜精品久久久久久久久久 | 希岛爱理一区二区三区av高清| 日韩欧中文字幕| 国产xxxx视频| 欧美日韩亚洲国产精品| 亚洲va久久久噜噜噜| 成人在线观看免费网站| 欧美日韩第一区日日骚| 91资源在线播放| 久久性天堂网| 日本最新一区二区三区视频观看| 超碰免费公开在线| 91精品国产综合久久久久| 精品在线观看一区| 看片网站欧美日韩| 正在播放一区| 四虎影视精品永久在线观看| 最近中文字幕2019免费| 中文字幕777| 1000精品久久久久久久久| 亚洲精品午夜在线观看| 91视频一区| 亚洲淫片在线视频| 黄色的视频在线观看| 亚洲精品99999| 成人在线免费看视频| 久久久久久久久岛国免费| 日本xxxxxxx免费视频| 欧洲激情综合| 成人免费看黄网站| 亚洲第一图区| 日韩成人中文字幕| 欧美三级网站在线观看| 国产精品水嫩水嫩| 久久久久久国产精品日本| 国产字幕视频一区二区| 精品一区二区三区免费毛片| 日韩成人影音| 久久精品国产免费观看| 日本国产在线观看| 一本一本久久a久久精品综合麻豆| 日本wwwwwww| 亚洲影音一区| 一区二区在线不卡| 精品欧美视频| 欧美一级大胆视频| 久草免费在线| 精品丝袜一区二区三区| 中文字幕日韩三级| 亚洲一区二区三区美女| 91网站免费视频| 激情偷乱视频一区二区三区| 丁香婷婷综合激情| 国产精品一国产精品| 99re国产视频| 亚洲国产尤物| 高清视频欧美一级| av国产在线观看| 欧美成人一区二区| 亚洲av无码不卡| 亚洲精品ww久久久久久p站| 久久国产精品影院| 国产精品自产自拍| 妓院一钑片免看黄大片| 欧美va天堂在线| 欧美在线视频二区| 中文字幕av一区二区三区四区| 欧美成人在线网站| 久久免费看视频| 日韩免费性生活视频播放| 天码人妻一区二区三区在线看| 久久一夜天堂av一区二区三区 | 先锋a资源在线看亚洲| 三区精品视频观看| 久久资源综合| 久久全国免费视频| 亚洲1卡2卡3卡4卡乱码精品| 日韩av在线一区| aaa一区二区三区| 欧洲激情一区二区| 全部毛片永久免费看| 亚洲综合一二区| www.99re6| 国产日产欧美一区二区三区| 日本久久久久久久久久| 国产精品一区在线| 亚洲欧美国产中文| 天堂久久一区二区三区| 久久久久99精品成人片| 自产国语精品视频| 在线看视频不卡| 精品九九在线| 欧美激情导航| 亚州av日韩av| 国产偷国产偷亚洲高清97cao| 欧美成人黑人| 91tv亚洲精品香蕉国产一区7ujn| 免费a级毛片在线观看| 亚洲精品一区在线观看| 国产成人毛毛毛片| 这里只有精品免费| 92久久精品一区二区| 欧美视频一区二区三区在线观看| 手机av在线看| 日韩理论片一区二区| www.com.av| 国产精品久久精品日日| 丁香六月激情综合| 国产精品色一区二区三区| 国产伦理片在线观看| 久久欧美一区二区| 中文字幕人妻一区二区| 久久久久久亚洲综合| 日韩一级av毛片| 国产欧美精品国产国产专区| 久久久免费看片| 国产精品天天看| 最新一区二区三区| 亚洲精品写真福利| 一区二区三区免费高清视频| 夜夜嗨av一区二区三区网页| 国产亚洲精品久久久久久打不开| 国产亚洲精品bt天堂精选| 亚洲理论片在线观看| 国产精品热久久久久夜色精品三区| 久久久久久国产精品日本| 国产成人精品免费网站| 不卡中文字幕在线观看| 国产一区二区精品久久91| 三级网站免费看| eeuss鲁片一区二区三区在线观看| 亚洲欧美日韩三级| 国产精品中文字幕日韩精品 | 国产视频精品va久久久久久| 蜜桃成人在线视频| 国产亚洲免费的视频看| 免费av不卡| 欧美精品电影免费在线观看| 亚洲色图官网| 国产日韩精品在线观看| 视频一区日韩| 久久久久久九九九九| 日韩www.| 久久综合久久网| 视频一区国产视频| 天天干天天曰天天操| www.久久久久久久久| 小早川怜子久久精品中文字幕| jlzzjlzz亚洲日本少妇| 国产免费看av| 亚洲欧美国产77777| 中日韩黄色大片| 91.成人天堂一区| 香蕉视频网站在线| 色噜噜国产精品视频一区二区| 亚洲av片一区二区三区| 中文字幕久久亚洲| 大黄网站在线观看| 国产精品综合不卡av| 国产亚洲成av人片在线观黄桃| 99se婷婷在线视频观看| 夜色77av精品影院| 福利在线小视频| 日韩精品视频网| 91亚洲一线产区二线产区| 欧美激情一区二区三区在线| www.av视频| 在线免费一区三区| 亚洲欧美强伦一区二区| 色狠狠av一区二区三区香蕉蜜桃| 久久99精品久久久久久野外| 26uuu日韩精品一区二区| 亚洲欧洲日韩精品在线| 日本精品免费| 99综合在线| 国产探花一区二区三区| 国产精品欧美精品| 在线精品免费视| 亚洲第一色在线| 羞羞污视频在线观看| 国产精品爽黄69天堂a| 女人抽搐喷水高潮国产精品| 中文字幕精品在线播放| 美国欧美日韩国产在线播放| 青青草福利视频| 欧美日韩免费网站| 囯产精品一品二区三区| 久热精品在线视频| 激情欧美一区二区三区黑长吊| 成人中文字幕在线观看| 成人羞羞网站| 成人亚洲视频在线观看| 91美女片黄在线| 日韩三级一区二区三区| 欧美一级理论片| 免费日本一区二区三区视频| 国产精品久久久久免费a∨大胸| 精品视频一二| 国产美女视频免费| 久久成人久久鬼色| 日韩免费av一区| 欧美日韩精品一二三区| 1024视频在线| 国产日韩在线精品av| 日韩欧美字幕| 依人在线免费视频| 中文字幕欧美国产| 最近中文字幕在线视频| 国产亚洲精品高潮| 日韩av免费| 亚洲精品无人区| 九九视频精品免费| 欧产日产国产v| 日韩精品一区二区三区视频| 伊人福利在线| 国产一区福利视频| 国产欧美亚洲一区| 88久久精品无码一区二区毛片| 亚洲日本韩国一区| 精品美女www爽爽爽视频| 欧美大片在线影院| 国产精品极品在线观看| 男人日女人逼逼| 久久综合狠狠综合久久激情| 成年人视频免费| zzjj国产精品一区二区| 蜜桃在线一区| 欧美午夜小视频| 久久久亚洲国产美女国产盗摄| 不卡的免费av| 亚洲毛片在线看| 91精品麻豆| 可以看毛片的网址| 91小视频免费看| 中文字幕在线播放av| 久久在线精品视频| 国产成人高清精品免费5388| 日韩av在线综合| 中文字幕一区二区5566日韩| 国产91久久久| 国产精品福利无圣光在线一区| 日本午夜精品| 久久久国产欧美| 亚洲最大成人网4388xx| 欧美在线一卡| 亚洲自拍小视频| 久久久777| 国产成人久久久久| 日韩精品www| 曰本一区二区| 精品视频免费在线播放| 国产精品三级电影| 精品人妻伦一区二区三区久久| 色婷婷av一区二区三区在线观看 | 国产噜噜噜噜噜久久久久久久久| 日韩欧美四区| 久久久久久久久久一区二区| 亚洲国产wwwccc36天堂| av二区在线| 国产呦系列欧美呦日韩呦| 蜜臀a∨国产成人精品| 日韩大片免费在线观看|