国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

    linux sort命令詳解

    時(shí)間: 佳洲1085 分享

      sort命令是linux下的一個(gè)常用命令,那么它有什么作用呢?下面由學(xué)習(xí)啦小編為大家整理了linux sort命令的相關(guān)知識(shí),希望大家喜歡!

      1.linux sort命令的工作原理

      sort將文件的每一行作為一個(gè)單位,相互比較,比較原則是從首字符向后,依次按ASCII碼值進(jìn)行比較,最后將他們按升序輸出。

      [rocrocket@rocrocket programming]$ cat seq.txt

      banana

      apple

      pear

      orange

      [rocrocket@rocrocket programming]$ sort seq.txt

      apple

      banana

      orange

      pear

      2.linux sort命令的-u選項(xiàng)

      它的作用很簡(jiǎn)單,就是在輸出行中去除重復(fù)行。

      [rocrocket@rocrocket programming]$ cat seq.txt

      banana

      apple

      pear

      orange

      pear

      [rocrocket@rocrocket programming]$ sort seq.txt

      apple

      banana

      orange

      pear

      pear

      [rocrocket@rocrocket programming]$ sort -u seq.txt

      apple

      banana

      orange

      pear

      pear由于重復(fù)被-u選項(xiàng)無(wú)情的刪除了。

      3.linux sort命令的-r選項(xiàng)

      sort默認(rèn)的排序方式是升序,如果想改成降序,就加個(gè)-r就搞定了。

      [rocrocket@rocrocket programming]$ cat number.txt

      1

      3

      5

      2

      4

      [rocrocket@rocrocket programming]$ sort number.txt

      1

      2

      3

      4

      5

      [rocrocket@rocrocket programming]$ sort -r number.txt

      5

      4

      3

      2

      1

      4.linux sort命令的-o選項(xiàng)

      由于sort默認(rèn)是把結(jié)果輸出到標(biāo)準(zhǔn)輸出,所以需要用重定向才能將結(jié)果寫入文件,形如sort filename > newfile。

      但是,如果你想把排序結(jié)果輸出到原文件中,用重定向可就不行了。

      [rocrocket@rocrocket programming]$ sort -r number.txt > number.txt

      [rocrocket@rocrocket programming]$ cat number.txt

      [rocrocket@rocrocket programming]$

      看,竟然將number清空了。

      就在這個(gè)時(shí)候,-o選項(xiàng)出現(xiàn)了,它成功的解決了這個(gè)問(wèn)題,讓你放心的將結(jié)果寫入原文件。這或許也是-o比重定向的唯一優(yōu)勢(shì)所在。

      [rocrocket@rocrocket programming]$ cat number.txt

      1

      3

      5

      2

      4

      [rocrocket@rocrocket programming]$ sort -r number.txt -o number.txt

      [rocrocket@rocrocket programming]$ cat number.txt

      5

      4

      3

      2

      1

      5.linux sort命令的-n選項(xiàng)

      你有沒(méi)有遇到過(guò)10比2小的情況。我反正遇到過(guò)。出現(xiàn)這種情況是由于排序程序?qū)⑦@些數(shù)字按字符來(lái)排序了,排序程序會(huì)先比較1和2,顯然1小,所以就將10放在2前面嘍。這也是sort的一貫作風(fēng)。

      我們?nèi)绻敫淖冞@種現(xiàn)狀,就要使用-n選項(xiàng),來(lái)告訴sort,“要以數(shù)值來(lái)排序”!

      [rocrocket@rocrocket programming]$ cat number.txt

      1

      10

      19

      11

      2

      5

      [rocrocket@rocrocket programming]$ sort number.txt

      1

      10

      11

      19

      2

      5

      [rocrocket@rocrocket programming]$ sort -n number.txt

      1

      2

      5

      10

      11

      19

      6.linux sort命令的-t選項(xiàng)和-k選項(xiàng)

      如果有一個(gè)文件的內(nèi)容是這樣:

      [rocrocket@rocrocket programming]$ cat facebook.txt

      banana:30:5.5

      apple:10:2.5

      pear:90:2.3

      orange:20:3.4

      這個(gè)文件有三列,列與列之間用冒號(hào)隔開(kāi)了,第一列表示水果類型,第二列表示水果數(shù)量,第三列表示水果價(jià)格。

      那么我想以水果數(shù)量來(lái)排序,也就是以第二列來(lái)排序,如何利用sort實(shí)現(xiàn)?

      幸好,sort提供了-t選項(xiàng),后面可以設(shè)定間隔符。(是不是想起了cut和paste的-d選項(xiàng),共鳴~~)

      指定了間隔符之后,就可以用-k來(lái)指定列數(shù)了。

      [rocrocket@rocrocket programming]$ sort -n -k 2 -t : facebook.txt

      apple:10:2.5

      orange:20:3.4

      banana:30:5.5

      pear:90:2.3

      我們使用冒號(hào)作為間隔符,并針對(duì)第二列來(lái)進(jìn)行數(shù)值升序排序,結(jié)果很令人滿意。

      7.linux sort命令的其他常用選項(xiàng)

      -f會(huì)將小寫字母都轉(zhuǎn)換為大寫字母來(lái)進(jìn)行比較,亦即忽略大小寫

      -c會(huì)檢查文件是否已排好序,如果亂序,則輸出第一個(gè)亂序的行的相關(guān)信息,最后返回1

      -C會(huì)檢查文件是否已排好序,如果亂序,不輸出內(nèi)容,僅返回1

      -M會(huì)以月份來(lái)排序,比如JAN小于FEB等等

      -b會(huì)忽略每一行前面的所有空白部分,從第一個(gè)可見(jiàn)字符開(kāi)始比較。

    linux sort命令詳解

    sort命令是linux下的一個(gè)常用命令,那么它有什么作用呢?下面由學(xué)習(xí)啦小編為大家整理了linux sort命令的相關(guān)知識(shí),希望大家喜歡! 1.linux sort命令的工作原理 sort將文件的每一行作為一個(gè)單位,相互比較,比較原則是從首字符向后,依次按
    推薦度:
    點(diǎn)擊下載文檔文檔為doc格式

    精選文章

    • linux snmpwalk命令詳解
      linux snmpwalk命令詳解

      snmpwalk命令是linux下的一個(gè)命令,那么它有什么作用呢?下面由學(xué)習(xí)啦小編為大家整理了linux snmpwalk命令的相關(guān)知識(shí),希望大家喜歡! linux snmpwalk命令作用 可使

    • linux smb命令詳解
      linux smb命令詳解

      smb命令在Linux系統(tǒng)中,可以用來(lái)linux和win之間實(shí)現(xiàn)文件共享,下面由學(xué)習(xí)啦小編為大家整理了linux smb命令的相關(guān)知識(shí),希望大家喜歡! 一、linux smb命令使用環(huán)

    • linux sleep命令詳解
      linux sleep命令詳解

      sleep,即睡眠的意思,在Linux系統(tǒng)中,sleep命令主要用來(lái)延遲shell腳本的時(shí)間,下面由學(xué)習(xí)啦小編為大家整理了linux sleep命令的相關(guān)知識(shí),希望大家喜歡! lin

    • linux size命令詳解
      linux size命令詳解

      linux size命令時(shí)linux下的一個(gè)命令,那么它是用來(lái)干嗎的呢?下面由學(xué)習(xí)啦小編為大家整理了linux size命令的相關(guān)知識(shí),希望大家喜歡! linux size命令作用 顯示一

    3580711