Linux基礎命令---sort

来源:https://www.cnblogs.com/wj78080458/archive/2018/11/26/10021055.html
-Advertisement-
Play Games

sort 以行為單位,對文本文件進行排,並輸出排序結果。預設情況下,以每一行為一個單位,從首字元開始按照ASCII碼向後逐個比較。 此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 1、語法 sort [選項] file sort [O ...


sort

      以行為單位,對文本文件進行排,並輸出排序結果。預設情況下,以每一行為一個單位,從首字元開始按照ASCII碼向後逐個比較。

      此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

 

1、語法

      sort [選項]  file

      sort [OPTION]... --files0-from=F

 

2、選項列表

選項

說明

--help

顯示幫助文檔

--version

顯示版本信息

-b

忽略每行開頭的空白字元

-d | --dictionary-order

排序時只考慮空格、數字、英語字母

-f | --ignore-case

將小寫字母改為大寫

-g | --general-numeric-sort

按一般數值比較

-i | --ignore-nonprinting

只考慮040到176之間的ASCII字元

-M | --month-sort

按月份排序

-h | --human-numeric-sort

按可讀性數據排序,例如1K,2G

-n | --numeric-sort

按數值大小排序        

-R | --random-sort

按鍵的隨機散列排序

--random-source=FILE

從文件中獲取隨機位元組

-r | --reverse

逆序排列

--sort=WORD

按給出的要求排序:general-numeric  -g,  human-numeric  -h,  month  -M, numeric -n, random -R, version -V

-V | --version-sort

按版本數字排序

--batch-size=NMERGE

最多一次合併NMERGE個輸入;更多地使用temp文件

-c | --check | --check=diagnose-first

檢測是否已排序,不排序

-C | --check=quiet | --check=silent

和“-c”一樣,不要報告第一個壞行

--compress-program=PROG

用prog壓縮時間,用prog-d解壓

--files0-from=F

從文件F中以NUL結尾的名稱指定的文件讀取輸入;如果F是-,則從標準輸入中讀取名稱。

-k | --key=POS1[,POS2]

在POS 1(起始1)處啟動鍵,在POS 2(預設行尾)結束鍵

-m | --merge

合併已經排序的文件,不排序

-o | --output=file

將結果輸出到指定文件

-s | --stable

通過禁用最後的比較來穩定排序

-S | --buffer-size=SIZE

主記憶體緩衝器使用SIZE

-t | --field-separator=SEP

使用sep代替分隔符

-T | --temporary-directory=DIR

將DIR用於臨時目錄,而不是$TMPDIR或/tmp;多個選項指定多個目錄

-u, --unique

和“-c”一起使用,檢查是否有嚴格的排序;如果沒有-c,則只輸出相同運行的第一個。

-z, --zero-terminated

結束行為0位元組,而不是換行符

 

3、實例

1)直接排序

[root@192 weijie]# cat 1.c

1K

1M

1G

1T

[root@192 weijie]# sort 1.c         //直接對比字元排序

1G

1K

1M

1T

2)按照可讀的單位來排序 

[root@192 weijie]# sort -h 1.c       //文件的內容按照單位排序,這些很明顯是記憶體大小單位

1K

1M

1G

1T

3)按照數字排序

[root@192 weijie]# cat 2.c

123

23

212

[root@192 weijie]# sort 2.c         //預設排序,按照字元逐個比較

123

212

23

[root@192 weijie]# sort -n 2.c     //把內容當做數字排序

23

123

212


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 0.引言 上一篇博文主要介紹了ABP模塊及插件的相關知識,本章節主要開發一個插件示例來學習如何創建一個插件,併在應用程式中使用。這個命名為FirstABPPlugin的插件主要在指定的時間段內刪除審計日誌。 1.創建插件 (1).新建項目,選擇【類庫(.NET Core)】 ​ (2).添加引用Ab ...
  • C# -- 內插字元串的使用 (1) 字元串文本以 $ 字元開頭,後接左雙引號字元。 $ 符號和引號字元之間不能有空格。(2) 內插字元串表達式的結果可以是任何數據類型。(3) 可通過在內插表達式後接冒號(“:”)和格式字元串來指定格式字元串。 運行結果: ...
  • CentOS下Docker與.netcore(一) 之 安裝 CentOS下Docker與.netcore(二) 之 Dockerfile CentOS下Docker與.netcore(三)之 三劍客之一Docker-Compose CentOS下Docker與.netcore(四)之 三劍客之一D ...
  • cat 連接文本文件或者標準輸入,將結果輸出到標準輸出設備。 此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 1、語法 cat [選項] file cat file1 file2 > file3 2、選項列表 選項 說明 --help ...
  • 如何設置setuid、setgid、sticky的許可權: setuid :置於 u 的 x 位,原位置有執行許可權,就置為 s,沒有了為 S . chmod 4xxx file chmod u+s xxx file setgid:置於 g 的 x 位,原位置有執行許可權,就置為 s,沒有了為 S . c ...
  • 分析 難度 易 來源 https://leetcode.com/problems/valid-phone-numbers/ 題目 Given a text file file.txt that contains list of phone numbers (one per line), write ...
  • vim:多行註釋 vim中多行註釋和多行刪除命令,這些命令也是經常用到的一些小技巧,可以大大提高工作效率。 多行註釋: 1. 首先按esc進入命令行模式下,按下Ctrl + v,進入列(也叫區塊)模式; 2. 在行首使用上下鍵選擇需要註釋的多行; 3. 按下鍵盤(大寫)“I”鍵,進入插入模式; 4. ...
  • 一、編寫Shell腳本crontab.sh 二、crontab -e 輸入以下語句,然後:wq 保存退出 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...