【linux】(2)文件內容排序sort

sort 是一個用于排序文件內容的命令行工具,在 Linux 和 Unix 系統中非常常用。

基本用法

sort [OPTION]... [FILE]...

常用選項

  1. 按數值排序 -n
sort -n filename

例子:對包含數值的文件進行排序。

  1. 按字典順序排序 -d
sort -d filename

例子:僅考慮字母和數字字符進行排序。

  1. 按月份排序 -M
sort -M filename

例子:對包含月份名稱的文件進行排序。

  1. 忽略大小寫 -f
sort -f filename

例子:忽略大小寫進行排序。

  1. 逆序排序 -r
sort -r filename

例子:逆序排序。

  1. 指定分隔符 -t
   sort -t',' -k2 filename

例子:使用逗號作為字段分隔符,并按第二個字段排序。

  1. 按指定鍵排序 -k
sort -k2 filename

例子:按第二個字段排序。

  1. 唯一排序 -u
sort -u filename

例子:去除重復行并排序。

示例文件

假設有一個文件 example.txt,內容如下:

banana
apple
Orange
grape
pear
Lemon

按字母順序排序

默認情況下,sort 按字母順序排序:

sort example.txt

輸出:

Lemon
Orange
apple
banana
grape
pear

按數值排序

假設有一個文件 numbers.txt,內容如下:

10
2
33
21
5

按數值排序:

sort -n numbers.txt

輸出:

2
5
10
21
33

忽略大小寫排序

sort -f example.txt

輸出:

apple
banana
grape
Lemon
Orange
pear

逆序排序

sort -r example.txt

輸出:

pear
grape
banana
apple
Orange
Lemon

按字段排序

假設有一個文件 data.txt,內容如下:

1,apple
2,banana
3,grape
4,pear
5,orange

按第二個字段排序(使用逗號作為分隔符):

sort -t',' -k2 data.txt

輸出:

1,apple
2,banana
3,grape
5,orange
4,pear

唯一排序

假設有一個文件 duplicates.txt,內容如下:

apple
banana
apple
orange
banana

去除重復行并排序:

sort -u duplicates.txt

輸出:

apple
banana
orange

穩定排序

使用 -s 選項可以保證穩定排序,即保持原始相等元素的順序。

sort -s -k1,1 data.txt

按指定字符范圍排序

可以使用 -k 選項指定排序的起始和結束字符位置。例如,按每行的第2到第3個字符排序:

sort -k1.2,1.3 filename

綜合示例

假設有一個更復雜的文件 complex.txt,內容如下:

3,John,5000
1,Jane,7000
2,Bob,6000
4,Alice,5500

按第二個字段(名字)排序,然后按第三個字段(工資)排序:

sort -t',' -k2,2 -k3,3n complex.txt

輸出:

4,Alice,5500
2,Bob,6000
1,Jane,7000
3,John,5000

排序帶空格的字段

對于帶有空格的字段,可以使用 -b 選項忽略前導空格進行排序:

sort -b -k2,2 filename

排序文件內容并保存到新文件

可以將排序結果重定向到新文件:

sort example.txt > sorted_example.txt

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21553.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21553.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21553.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大宋咨詢(深圳酒店神秘顧客調查)酒店客房神秘人體驗調查內容

酒店客房神秘檢查內容,是酒店管理中至關重要的環節。通過專業的神秘顧客對客房進行細致入微的檢查,可以確保客房的清潔度、設施設備的完好性以及服務質量等方面達到高標準,幫助他們更好地了解客戶的需求和滿意度,從而提高服務質量…

Facebook開戶|Facebook公共主頁疑難雜癥詳解

??要要切克鬧,公共主頁我來道...哈嘍呀家人們中午好,上一次學習還是在上一次..hhh相信很多家人在做Facebook的時候總會遇到各種各樣匪夷所思的bug!經常被搞心態吧!那么咱們今天呢就來總結一下各類的bug以及解決方法,…

InvokeAI學習教程三:換臉

啟動InvokeAI,我們先生成一張圖: 在正向提示詞里輸入:Avant-garde couture, tactile textures, vogue aesthetics, vibrant color palette, intricate embroidery details, dramatic silhouettes 生成一張高貴夫人的圖像, 或者你從…

標準發布 | 廢水處理減污降碳協同評估指南(碳中和標準)

本文件主編單位:北京林業大學、北京交通大學、中國電建集團華東勘測設計研究院有限公司、 眉山市城投中恒能環保科技有限公司、 中華環保聯合會水環境治理專業委員會。 本文件參編單位:中國市政工程中南設計研究總院有限公司、湖北君集環境科技股份有 公…

C++ B (1124) : 斐波那契數列第n項Plus

文章目錄 一、題目描述二、參考代碼 一、題目描述 二、參考代碼 #include <iostream> #include <vector>using namespace std;const long long MOD 1e9 7; // 取模的值// 定義矩陣類 class Matrix { public:vector<vector<long long>> data;// 構造…

JavaWeb項目規范開發流程詳細分解

在JavaWeb項目開發中&#xff0c;遵循規范化的開發流程和最佳實踐可以提高代碼的可維護性、可擴展性和團隊協作效率。規范化的開發流程主要從下面幾個方面進行&#xff1a; 1. 項目結構 分層架構&#xff1a;典型的分層架構包括表示層&#xff08;Controller&#xff09;、業…

字節裁員!開啟裁員新模式。。

最近&#xff0c;互聯網圈不太平&#xff0c;裁員消息此起彼伏。而一向以“狼性文化”著稱的字節跳動&#xff0c;卻玩起了“低調裁員”&#xff0c;用一種近乎“溫柔”的方式&#xff0c;慢慢擠掉“冗余”的員工。 “細水長流”&#xff1a;裁員新模式&#xff1f; 不同于以往…

【TB作品】MSP430F5529,單片機,打地鼠游戲

功能 針對這塊開發板做了一個打地鼠游戲&#xff1a; 1 給單片機上電后&#xff0c;初始化顯示界面&#xff0c;顯示出分數和等級。 2 游戲是一輪一輪進行的&#xff0c;每一輪會以50%幾率點亮板子上的五個小燈&#xff0c;表示地鼠露頭需要打了。 3 一輪游戲開始后&#xff…

亞馬遜又爆單了!做跨境電商就是靠選品!

其實亞馬遜運營并不難&#xff0c;只要遵循亞馬遜規則去做就不會有問題&#xff0c;亞馬遜規則其實就是運營&#xff0c;但是&#xff01;難就難在選品&#xff01;我自己是做精品的&#xff0c;我自己明顯的感覺就是&#xff0c;運營技術很厲害&#xff0c;但是好的產品面前一…

貪心算法拓展(反悔貪心)

相信大家對貪心算法已經見怪不怪了&#xff0c;但是一旦我們的決策條件會隨著我們的步驟變化&#xff0c;我們該怎么辦呢&#xff1f;有沒有什么方法可以反悔呢&#xff1f; 今天就來講可以后悔的貪心算法&#xff0c;反悔貪心。 https://www.luogu.com.cn/problem/CF865Dhttp…

C++棧、隊列

文章目錄 目錄 文章目錄 前言 一、stack、queue介紹 1.stack 2.queue 二、stack、queue的習題 1. 最小棧 2. 棧的壓入、彈出序列 3.二叉樹的層序遍歷 三、stack和queue的模擬實現 1.stack的模擬實現 2.queue的模擬實現 前言 棧和隊列是倆種特殊的容器&#xff0c;C在實現棧和隊…

Go Go-Simple-Mail包進行批量SMTP郵件發送

go-simple-mail 包提供了一種簡便的方式來處理和發送郵件。這個包支持保持活動連接、TLS和SSL加密協議,非常適合批量SMTP郵件發送需求。 1、安裝Go-Simple-Mail包 go get -u github.com/xhit/go-simple-mail/v2 2、配置SMTP服務器連接 go-simple-mail包支持多種SMTP服務器…

強達電路營收下滑凈利潤急劇放緩:周轉率驟降,2次因環保被罰

《港灣商業觀察》施子夫 自2022年6月向深交所創業板遞交招股書起&#xff0c;深圳市強達電路股份有限公司&#xff08;以下簡稱&#xff0c;強達電路&#xff09;已收到深交所下發的兩輪審核問詢函&#xff0c;并且公司已于2023年3月31日順利過會。但由于遲遲未提交注冊申請&a…

無實驗數據指導蛋白質定向進化,上海交大洪亮課題組發表微環境感知圖神經網絡 ProtLGN

在現代生物技術和醫藥研究中&#xff0c;蛋白質工程扮演著至關重要的角色。通過修改蛋白質的氨基酸序列&#xff0c;蛋白質工程可以改善或賦予蛋白質新的生物化學性質&#xff0c;如增強酶的催化效率、提高藥物的親和力或改善其熱穩定性。這些改進對于開發新藥、治療疾病以及提…

lua vm 一: attempt to yield across a C-call boundary 的原因分析

使用 lua 的時候有時候會遇到這樣的報錯&#xff1a;“attempt to yield across a C-call boundary”。 1. 網絡上的解釋 可以在網上找到一些關于這個問題的解釋。 1.1 解釋一 這個 issue&#xff1a;一個關于 yield across a C-call boundary 的問題&#xff0c;云風的解釋是…

【最新鴻蒙應用開發】——實用廣告思路,可動態修改(方便運營)

鴻蒙項目加入廣告展示頁業務 廣告頁的思路——華為有廣告業務&#xff0c;但是我們不用- ad模塊&#xff1b; 想自定義廣告——場景&#xff1a; app啟動-有廣告需求&#xff0c;就打開廣告頁&#xff0c;沒有的話就去登錄或者主頁&#xff1b; 騰訊體育的廣告- 啟動有廣告頁…

適合小白學習的項目1894java開發ssm框架校園跑腿管理系統myeclipse開發mysql數據庫springMVC模式java編程計算機網頁設計

一、源碼特點 java ssm 校園跑腿管理系統是一套完善的web設計系統&#xff08;系統采用SSM框架進行設計開發&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;對理解JSP java編程開發語言有幫助&#xff0c;系統具有完整的源代碼和數據庫&#xff0c;系統主要采…

Java項目:96 springboot精品在線試題庫系統

作者主頁&#xff1a;舒克日記 簡介&#xff1a;Java領域優質創作者、Java項目、學習資料、技術互助 文中獲取源碼 項目介紹 這次開發的精品在線試題庫系統有管理員&#xff0c;教師&#xff0c;學生三個角色。 管理員功能有個人中心&#xff0c;專業管理&#xff0c;學生管理…

比較(二)利用python繪制雷達圖

比較&#xff08;二&#xff09;利用python繪制雷達圖 雷達圖&#xff08;Radar Chart&#xff09;簡介 雷達圖可以用來比較多個定量變量&#xff0c;也可以用于查看數據集中變量的得分高低&#xff0c;是顯示性能表現的理想之選。缺點是變量過多容易造成閱讀困難。 快速繪制…

Go語言 一些問題了解

一、讀取文件數據&#xff0c;是阻塞還是非阻塞的&#xff1f; 分兩種情況&#xff1a;常規讀取文件數據&#xff0c;和網絡IO讀取數據 1. 常規讀取文件數據&#xff1a; io.Reader 和 bufio.Reader 是同步進行的。 bufio.Reader 提供緩沖的讀取操作&#xff0c;意味著數據是…