国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux操作系統:排序和合并文件內容

如意 ? 來源:Linux中國 ? 作者:Sandra Henry-stocker ? 2020-08-25 11:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Linux 上合并和排序文本的方法有很多種,但如何去處理它取決于你試圖做什么:你是只想將多個文件的內容放入一個文件中,還是以某種方式組織它,讓它更易于使用。在本文中,我們將查看一些用于排序和合并文件內容的命令,并重點介紹結果有何不同。

使用 cat

如果你只想將一組文件放到單個文件中,那么 cat 命令是一個容易的選擇。你所要做的就是輸入 cat,然后按你希望它們在合并文件中的順序在命令行中列出這些文件。將命令的輸出重定向到要創建的文件。如果指定名稱的文件已經存在,那么文件將被覆蓋。例如:

$ cat firstfile secondfile thirdfile 》 newfile

如果要將一系列文件的內容添加到現有文件中,而不是覆蓋它,只需將 》 變成 》》。

$ cat firstfile secondfile thirdfile 》》 updated_file

如果你要合并的文件遵循一些方便的命名約定,那么任務可能更簡單。如果可以使用正則表達式指定所有文件名,那就不必列出所有文件。例如,如果文件全部以 file 結束,如上所示,你可以進行如下操作:

$ cat *file 》 allfiles

請注意,上面的命令將按字母數字順序添加文件內容。在 Linux 上,一個名為 filea 的文件將排在名為 fileA 的文件的前面,但會在 file7 的后面。畢竟,當我們處理字母數字序列時,我們不僅需要考慮 ABCDE,還需要考慮 0123456789aAbBcCdDeE。你可以使用 ls *file 這樣的命令來查看合并文件之前文件的順序。

注意:首先確保你的命令包含合并文件中所需的所有文件,而不是其他文件,尤其是你使用 * 等通配符時。不要忘記,用于合并的文件仍將單獨存在,在確認合并后,你可能想要刪除這些文件。

按時間期限合并文件

如果要基于每個文件的時間期限而不是文件名來合并文件,請使用以下命令:

$ for file in `ls -tr myfile.*`; do cat $file 》》 BigFile.$$; done

使用 -tr 選項(t = 時間,r = 反向)將產生按照最早的在最前排列的文件列表。例如,如果你要保留某些活動的日志,并且希望按活動執行的順序添加內容,則這非常有用。

上面命令中的 $$ 表示運行命令時的進程 ID。不是很必要使用此功能,但它幾乎不可能會無意添加到現有的文件,而不是創建新文件。如果使用 $$,那么生成的文件可能如下所示:

$ ls -l BigFile.*-rw-rw-r-- 1 justme justme 931725 Aug 6 12:36 BigFile.582914

合并和排序文件

Linux 提供了一些有趣的方式來對合并之前或之后的文件內容進行排序。

按字母對內容進行排序

如果要對合并的文件內容進行排序,那么可以使用以下命令對整體內容進行排序:

$ cat myfile.1 myfile.2 myfile.3 | sort 》 newfile

如果要按文件對內容進行分組,請使用以下命令對每個文件進行排序,然后再將它添加到新文件中:

$ for file in `ls myfile.?`; do sort $file 》》 newfile; done

對文件進行數字排序

要對文件內容進行數字排序,請在 sort 中使用 -n 選項。僅當文件中的行以數字開頭時,此選項才有用。請記住,按照默認順序,02 將小于 1。當你要確保行以數字排序時,請使用 -n 選項。

$ cat myfile.1 myfile.2 myfile.3 | sort -n 》 xyz

如果文件中的行以 2020-11-03 或 2020/11/03(年月日格式)這樣的日期格式開頭,-n 選項還能讓你按日期對內容進行排序。其他格式的日期排序將非常棘手,并且將需要更復雜的命令。

使用 paste

paste 命令允許你逐行連接文件內容。使用此命令時,合并文件的第一行將包含要合并的每個文件的第一行。以下是示例,其中我使用了大寫字母以便于查看行的來源:

Linux操作系統:排序和合并文件內容

將輸出重定向到另一個文件來保存它:

$ paste file.a file.b file.c 》 merged_content

或者,你可以將每個文件的內容在同一行中合并,然后將文件粘貼在一起。這需要使用 -s(序列)選項。注意這次的輸出如何顯示每個文件的內容:

Linux操作系統:排序和合并文件內容

使用 join

合并文件的另一個命令是 join。join 命令讓你能基于一個共同字段合并多個文件的內容。例如,你可能有一個包含一組同事的電話的文件,其中,而另一個包含了同事的電子郵件地址,并且兩者均按個人姓名列出。你可以使用 join 創建一個包含電話和電子郵件地址的文件。

一個重要的限制是文件的行必須是相同的順序,并在每個文件中包括用于連接的字段。

這是一個示例命令:

Linux操作系統:排序和合并文件內容

在本例中,即使缺少附加信息,第一個字段(名字)也必須存在于每個文件中,否則命令會因錯誤而失敗。對內容進行排序有幫助,而且可能更容易管理,但只要順序一致,就不需要這么做。

總結

在 Linux 上,你有很多可以合并和排序存儲在單獨文件中的數據的方式。這些方法可以使原本繁瑣的任務變得異常簡單。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    88

    文章

    11759

    瀏覽量

    219013
  • 操作系統
    +關注

    關注

    37

    文章

    7401

    瀏覽量

    129288
  • 排序
    +關注

    關注

    0

    文章

    32

    瀏覽量

    9975
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    操作系統體系結構

    按照復雜性、時間常數、抽象級別等因素,將操作系統內核分成基本進程管理、虛存、I/O與設備管理、IPC、文件系統等幾個層次,繼而定義層次之間的服務結構,提高操作系統內核設計上的模塊化。但是由于層次
    發表于 01-15 08:19

    操作系統運行機制

    不同的層次上。一些與硬件關聯較緊密的模塊,諸如時鐘管理、中斷處理、設備驅動等處于最底層。其次是運行頻率較髙的程序,諸如進程管理、存儲器管理和設備管理等。這兩部分內容構成了操作系統的內核。這部分內容的指令
    發表于 01-15 07:12

    Linux 已夠強,國產操作系統為何仍要堅持?

    在中國做技術的人,或多或少都有過這樣的疑問: “Linux 都這么成熟、這么好用了,國產操作系統還有必要搞嗎?” 這不是少數人的困惑,而是整個行業幾十年來反復討論的問題。 但如果你深入工業、能源
    的頭像 發表于 12-25 16:11 ?368次閱讀

    單片機的操作系統

    Linux網絡協議棧和文件系統(如JFFS2),但實時性較弱,需外擴存儲器。 ? ? VxWorks ?:高效實時操作系統,廣泛應用于通信、軍事等領域,支持自定義硬件模塊。 ? 其他選擇 ? Keil
    發表于 11-14 06:18

    請問如何在e203中安裝linux操作系統

    本人用的板子是Xilinx的XC7A100TFGG484-2L,編譯軟件是vivado2017.4。目前比特流已經成功生成,我已經把其固化進了板子中。現在的我想在我固化后的板子里面裝一個linux操作系統,應該如何做?
    發表于 11-07 07:32

    Jtti Linux操作系統最常見的10大優勢

    Linux操作系統的十大優勢 Linux操作系統作為一種開源、自由的系統,已經廣泛應用于個人計算機、服務器、嵌入式設備等多個領域。它的多樣化
    的頭像 發表于 11-06 15:32 ?298次閱讀

    訂單拆單合并處理接口設計與實現

    ? 在電商或訂單管理系統中,訂單拆單和合并是常見的優化操作。拆單指將一個訂單拆分成多個子訂單(例如基于庫存位置或物流需求),而合并則是將多個訂單整合成一個(例如減少配送成本)。一個高效
    的頭像 發表于 10-16 14:47 ?636次閱讀
    訂單拆單<b class='flag-5'>合并</b>處理接口設計與實現

    飛凌嵌入式ElfBoard-Linux系統基礎入門-文件操作相關shell命令

    2.5 文件操作相關命令2.5.1 touch創建新文件命令:touch英文全拼:功能:創建大小為0的一個空文件參數:touch 文件名示例
    發表于 09-30 09:46

    樹莓派操作系統:版本、特性及設置完整指南!

    樹莓派操作系統是什么?樹莓派操作系統是由樹莓派基金會專為樹莓派開發的官方操作系統。它基于DebianLinux發行版,并針對樹莓派的ARM架構進行了專門優化。樹莓派操作系統有多個版本,
    的頭像 發表于 07-28 18:26 ?1425次閱讀
    樹莓派<b class='flag-5'>操作系統</b>:版本、特性及設置完整指南!

    聚徽廠家解碼——工控機操作系統選擇:Windows、Linux、QNX 如何匹配工業場景

    在工業自動化進程不斷推進的當下,工控機作為核心設備,其操作系統的恰當選擇對工業生產的穩定性、高效性和安全性起著決定性作用。常見的 Windows、Linux 和 QNX 操作系統,各自具備獨特
    的頭像 發表于 05-29 16:28 ?1672次閱讀

    無人職守自動安裝部署操作系統指南

    當組織有服務器需要部署linux系統時,需要通過網絡方式安裝并結合自動應答文件,實現無人職守自動安裝部署操作系統。這種方式需要我們至少配置一臺服務器,所有需要安裝
    的頭像 發表于 05-22 13:38 ?967次閱讀
    無人職守自動安裝部署<b class='flag-5'>操作系統</b>指南

    Linux常用命令大全

    Linux常用命令是指在Linux操作系統中廣泛使用的命令工具,這些命令工具可以完成各種不同的任務,如管理文件和目錄、操作進程、網絡通信、軟
    的頭像 發表于 05-03 18:08 ?1863次閱讀

    Linux主要的性能有哪些?

    ? 什么是Linux? ? Linux是一套自由傳播的類Unix操作系統,是一個基于posix和unix的多用戶、多任務、支持多線程和多cpu的操作系統。它的基本思想有兩點,一切都是
    的頭像 發表于 04-30 18:09 ?656次閱讀
    <b class='flag-5'>Linux</b>主要的性能有哪些?

    國產操作系統有哪些?政企官方認證的5大國產系統,實測好用才敢推薦!

    近年來,“國產操作系統”這個詞越來越頻繁地出現在政策文件、企業采購清單和行業新聞里。尤其是在“信創”浪潮下,無論是政府機關還是央企國企,都在加速替換國外操作系統。但面對市面上琳瑯滿目的國產系統
    的頭像 發表于 04-17 15:34 ?6684次閱讀
    國產<b class='flag-5'>操作系統</b>有哪些?政企官方認證的5大國產<b class='flag-5'>系統</b>,實測好用才敢推薦!

    如何在計算機上安裝麒麟操作系統Kylin V10 SP3

    麒麟操作系統 Kylin V10 SP3 是一款基于 Linux操作系統,廣泛應用于政府、企業和個人用戶。本文將詳細介紹如何在計算機上安裝麒麟操作系統 Kylin V10 SP3,
    的頭像 發表于 04-11 15:32 ?3911次閱讀
    如何在計算機上安裝麒麟<b class='flag-5'>操作系統</b>Kylin V10 SP3