最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux中文本處理工具之sort命令詳解

 更新時間:2017年03月22日 11:02:55   作者:Wing  
sort命令的功能是對文件中的各行進行排序。sort命令有許多非常實用的選項,這些選項最初是用來對數(shù)據(jù)庫格式的文件內(nèi)容進行各種排序操作的。下面這篇文章主要給大家介紹了Linux中文本處理工具之sort命令的相關(guān)資料,需要的朋友可以參考下。

前言

sort命令將每一行作為一個單位進行比較,比較原則是從首字符向后,依次按ASCII碼值進行比較,最后將他們按一定的順序進行輸出,實際上,sort命令可以被認(rèn)為是一個非常強大的數(shù)據(jù)治理工具,用來治理內(nèi)容類似數(shù)據(jù)庫記錄的文件。下面來一起看看吧。

一、sort實戰(zhàn)演練

sort.txt

root,x,0,0,root,/root,/bin/bash
daemon,x,1,1,daemon,/usr/sbin,/usr/sbin/nologin
bin,x,2,2,bin,/bin,/usr/sbin/nologin
bin,x,2,2,bin,/bin,/usr/sbin/nologin
sys,x,3,3,sys,/dev,/usr/sbin/nologin

number.txt

 9
8
90
82
2

human_readable.txt

2k
2G
2M
20M

實戰(zhàn)演練

輸出升序排序文件

> root@wing:~/wing # sort sort.txt 
> bin,x,2,2,bin,/bin,/usr/sbin/nologin
> bin,x,2,2,bin,/bin,/usr/sbin/nologin
> daemon,x,1,1,daemon,/usr/sbin,/usr/sbin/nologin
> root,x,0,0,root,/root,/bin/bash
> sys,x,3,3,sys,/dev,/usr/sbin/nologin
>
>

輸出降序排序文件

> root@wing:~/wing # sort -r sort.txt 
> sys,x,3,3,sys,/dev,/usr/sbin/nologin
> root,x,0,0,root,/root,/bin/bash
> daemon,x,1,1,daemon,/usr/sbin,/usr/sbin/nologin
> bin,x,2,2,bin,/bin,/usr/sbin/nologin
> bin,x,2,2,bin,/bin,/usr/sbin/nologin
>
>

將sort文件按照第三列升序輸出

> root@wing:~/wing # sort -t , -k 3 sort.txt 
> root,x,0,0,root,/root,/bin/bash
> daemon,x,1,1,daemon,/usr/sbin,/usr/sbin/nologin
> bin,x,2,2,bin,/bin,/usr/sbin/nologin
> bin,x,2,2,bin,/bin,/usr/sbin/nologin
> sys,x,3,3,sys,/dev,/usr/sbin/nologin
>
>

去掉重復(fù)行降序輸出

> root@wing:~/wing # sort -ur sort.txt 
> sys,x,3,3,sys,/dev,/usr/sbin/nologin
> root,x,0,0,root,/root,/bin/bash
> daemon,x,1,1,daemon,/usr/sbin,/usr/sbin/nologin
> bin,x,2,2,bin,/bin,/usr/sbin/nologin
>

二、sort常用參數(shù)

-b, –ignore-leading-blanks

忽略每一行開頭的空格,從第一個不是空格的字符開始比較。

-c, –check, –check=diagnose-first

檢查文件是否已經(jīng)排序,如果沒有排序,則輸出第一個未排序的行,如果已經(jīng)排序,則返回1.

>root@wing:~/wing # sort -c sort.txt 
>sort: sort.txt:2: disorder: daemon,x,1,1,daemon,/usr/sbin,/usr/sbin/nologin
>

-C, –check=quiet, –check=silent

與-c參數(shù)功能一致,不同的是,如果沒有排序,該參數(shù)并不會輸出第一個未排序的行,二是什么都不會輸出。

> root@wing:~/wing # sort -c sort.txt 
> sort: sort.txt:2: disorder: daemon,x,1,1,daemon,/usr/sbin,/usr/sbin/nologin
> root@wing:~/wing # 
>

-f, –ignore-case

忽略大小寫,將所有的小寫字母轉(zhuǎn)換為大寫字母進行比較。

-h, –human-numeric-sort

以人類可讀的方式排序,如對k,G進行排序。

> root@wing:~/wing # sort human_readable.txt 
> 20M
> 2G
> 2k
> 2M
> root@wing:~/wing # sort -h human_readable.txt 
> 2k
> 2M
> 20M
> 2G
>

-M, –month-sort

按月份排序,如JAN,MAR等等。

-n, –numeric-sort

將數(shù)字轉(zhuǎn)換為數(shù)值的方式排序。

> root@wing:~/wing # sort number.txt 
> 2
> 8
> 82
> 9
> 90
> root@wing:~/wing # sort -n number.txt 
> 2
> 8
> 9
> 82
> 90
>

-R, –random-sort

以隨機的方式進行排序。

> root@wing:~/wing # sort -R sort.txt 
> daemon,x,1,1,daemon,/usr/sbin,/usr/sbin/nologin
> sys,x,3,3,sys,/dev,/usr/sbin/nologin
> root,x,0,0,root,/root,/bin/bash
> bin,x,2,2,bin,/bin,/usr/sbin/nologin
> bin,x,2,2,bin,/bin,/usr/sbin/nologin
>
> root@wing:~/wing # sort -R sort.txt 
> root,x,0,0,root,/root,/bin/bash
> sys,x,3,3,sys,/dev,/usr/sbin/nologin
> daemon,x,1,1,daemon,/usr/sbin,/usr/sbin/nologin
> bin,x,2,2,bin,/bin,/usr/sbin/nologin
> bin,x,2,2,bin,/bin,/usr/sbin/nologin
>
> root@wing:~/wing # sort -R sort.txt 
> root,x,0,0,root,/root,/bin/bash
> bin,x,2,2,bin,/bin,/usr/sbin/nologin
> bin,x,2,2,bin,/bin,/usr/sbin/nologin
> daemon,x,1,1,daemon,/usr/sbin,/usr/sbin/nologin
> sys,x,3,3,sys,/dev,/usr/sbin/nologin
>

-r, –reverse

默認(rèn)是升序排序,加上-r參數(shù)是降序排序。

-o, –output=FILE

將sort命令的結(jié)果輸出到另一個文件中。

-u, –unique

和-c參數(shù)一起時,并沒有什么用;

不與-c參數(shù)一起時,將所有的行去重后排序輸出。

-t, –field-separator

分隔符。

-k, –key

根據(jù)key去排序,可以是列的位置或者類型。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • 利用Apache?Common將java對象池化的問題

    利用Apache?Common將java對象池化的問題

    對象被創(chuàng)建后,使用完畢不是立即銷毀回收對象,而是將對象放到一個容器保存起來,下次使用的時候不用創(chuàng)建對象,而是從容器中直接獲取,這篇文章主要介紹了利用Apache?Common將java對象“池化”,需要的朋友可以參考下
    2022-06-06
  • linux使用docker-compose部署軟件配置詳解

    linux使用docker-compose部署軟件配置詳解

    這篇文章主要給大家介紹了關(guān)于linux使用docker-compose部署軟件配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • kali?linux?無法登錄root的問題及解決方法

    kali?linux?無法登錄root的問題及解決方法

    這篇文章主要介紹了kali?linux?無法登錄root的問題及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2025-04-04
  • CentOS7 重新分配分區(qū)大小的實現(xiàn)方法

    CentOS7 重新分配分區(qū)大小的實現(xiàn)方法

    這篇文章主要介紹了CentOS7 重新分配分區(qū)大小的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 解決linux系統(tǒng)中運行node進程卻無法殺死進程的問題

    解決linux系統(tǒng)中運行node進程卻無法殺死進程的問題

    這篇文章主要介紹了linux系統(tǒng)中運行node進程無法殺死進程的問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • CentOS7安裝iptables防火墻的方法

    CentOS7安裝iptables防火墻的方法

    本篇文章主要介紹了CentOS7安裝iptables防火墻的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • centos6搭建gitlab的方法步驟

    centos6搭建gitlab的方法步驟

    這篇文章主要介紹了centos6搭建gitlab的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Linux I/O多路復(fù)用詳解及實例

    Linux I/O多路復(fù)用詳解及實例

    這篇文章主要介紹了Linux I/O多路復(fù)用詳解及實例的相關(guān)資料,并附實例代碼,需要的朋友可以參考下
    2016-11-11
  • 詳解Ubuntu14.04橋接網(wǎng)絡(luò)設(shè)置與SSH登陸

    詳解Ubuntu14.04橋接網(wǎng)絡(luò)設(shè)置與SSH登陸

    本篇文章主要介紹了詳解Ubuntu14.04橋接網(wǎng)絡(luò)設(shè)置與SSH登陸,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • linux下安裝nodejs及npm的方法

    linux下安裝nodejs及npm的方法

    本篇文章主要介紹了linux下安裝nodejs及npm的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論

呈贡县| 台北市| 建德市| 乐安县| 孝感市| 巧家县| 德州市| 海伦市| 镇宁| 吴桥县| 会东县| 南汇区| 六枝特区| 高雄县| 阿鲁科尔沁旗| 黑水县| 化州市| 彭泽县| 明光市| 南乐县| 建湖县| 磐石市| 古蔺县| 敦化市| 嘉兴市| 北海市| 新竹县| 雅安市| 汪清县| 朝阳区| 黔东| 乾安县| 龙岩市| 三都| 云和县| 子长县| 巴楚县| 临沂市| 宕昌县| 封开县| 保康县|