chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內(nèi)不再提示

Linux操作系統(tǒng):排序和合并文件內(nèi)容

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

掃碼添加小助手

加入工程師交流群

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

使用 cat

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

$ cat firstfile secondfile thirdfile 》 newfile

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

$ cat firstfile secondfile thirdfile 》》 updated_file

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

$ cat *file 》 allfiles

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

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

按時間期限合并文件

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

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

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

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

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

合并和排序文件

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

按字母對內(nèi)容進行排序

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

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

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

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

對文件進行數(shù)字排序

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

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

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

使用 paste

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

Linux操作系統(tǒng):排序和合并文件內(nèi)容

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

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

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

Linux操作系統(tǒng):排序和合并文件內(nèi)容

使用 join

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

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

這是一個示例命令:

Linux操作系統(tǒng):排序和合并文件內(nèi)容

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

總結(jié)

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

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

    關注

    88

    文章

    11807

    瀏覽量

    219508
  • 操作系統(tǒng)

    關注

    37

    文章

    7432

    瀏覽量

    129597
  • 排序
    +關注

    關注

    0

    文章

    32

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    操作系統(tǒng)體系結(jié)構(gòu)

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

    操作系統(tǒng)運行機制

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

    Linux 已夠強,國產(chǎn)操作系統(tǒng)為何仍要堅持?

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

    EV10AS180A模數(shù)轉(zhuǎn)換器支持哪些操作系統(tǒng)

    與這些硬件接口進行交互,從而實現(xiàn)對EV10AS180A的控制和數(shù)據(jù)讀取。系統(tǒng)集成與應用場景:在將EV10AS180A集成到具體系統(tǒng)中時,用戶可能會根據(jù)系統(tǒng)需求選擇合適的操作系統(tǒng)(如
    發(fā)表于 11-18 09:18

    單片機的操作系統(tǒng)

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

    嵌入式實時操作系統(tǒng)的特點

    操作系統(tǒng)具備高效的中斷處理機制,能夠快速響應和處理系統(tǒng)的中斷事件。 資源管理:實時嵌入式操作系統(tǒng)提供有效的資源管理機制,包括內(nèi)存管理、設備驅(qū)動程序、文件系統(tǒng)和網(wǎng)絡協(xié)議等,以支持嵌入式
    發(fā)表于 11-13 06:30

    請問如何在e203中安裝linux操作系統(tǒng)?

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

    Jtti Linux操作系統(tǒng)最常見的10大優(yōu)勢

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

    訂單拆單合并處理接口設計與實現(xiàn)

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

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

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

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

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

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

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

    無人職守自動安裝部署操作系統(tǒng)指南

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

    Linux常用命令大全

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

    Linux主要的性能有哪些?

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