在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 業(yè)界動態(tài) > 在Linux操作系統(tǒng)里使用xargs命令

            在Linux操作系統(tǒng)里使用xargs命令

            作者: 時(shí)間:2015-01-19 來源:網(wǎng)絡(luò) 收藏

            你是否遇到過這樣的情況,需要一遍又一遍地對多個(gè)文件執(zhí)行同樣的操作?如果有過,那你肯定會深有感觸這是多么的無聊和效率低下。還好有種簡單的方式,可以在基于Unix的操作系統(tǒng)中使用解決這個(gè)煩惱。通過這個(gè)命令你可以有效地處理多個(gè)文件,節(jié)省你的時(shí)間和精力。在這篇教程中,你可以學(xué)到如何一次性對多個(gè)文件執(zhí)行命令或腳本操作,再也不用擔(dān)心像單獨(dú)處理無數(shù)個(gè)日志或數(shù)據(jù)文件那樣嚇人的任務(wù)了。

            本文引用地址:http://www.biyoush.com/article/268330.htm

            linux操作系統(tǒng)

            linux操作系統(tǒng)專題文章linux操作系統(tǒng)詳解(linux不再難懂)

            有兩個(gè)要點(diǎn)。第一,你必須列出目標(biāo)文件。第二,你必須指定對每個(gè)文件需要執(zhí)行的命令或腳本。

            這篇教程會涉及三個(gè)應(yīng)用場景,被用來處理分布在不同目錄下的文件:

            1:計(jì)算所有文件的行數(shù)

            2:打印指定文件的第一行

            3:對每個(gè)文件執(zhí)行一個(gè)自定義腳本

            請看下面這個(gè)叫xargstest的目錄(用tree命令以及-i和-f選項(xiàng)顯示了目錄樹結(jié)構(gòu),這樣可以避免縮進(jìn)顯示而且每個(gè)文件都會帶有完整路徑):

            xargs命令

            xargs命令

            這六個(gè)文件的內(nèi)容分別如下:

            xargs命令

            這個(gè)xargstest目錄,以及它包含的子目錄和文件將用在下面的例子中。

            場景1:計(jì)算所有文件的行數(shù)

            就像之前提到的,使用xargs命令的第一個(gè)要點(diǎn)是一個(gè)用來運(yùn)行命令或腳本的文件列表。我們可以用find命令來確定和列出目標(biāo)文件。選項(xiàng)-name 'file??'指定了xargstest目錄下那些名字以"file"開頭并跟隨兩個(gè)任意字符的文件才是匹配的。這個(gè)搜索默認(rèn)是遞歸的,意思是find命令會在xargstest和它的子目錄下搜索匹配的文件。

            xargs命令

            xargs命令

            我們可以通過管道把結(jié)果發(fā)給sort命令讓文件名按順序排列:

            xargs命令

            xargs命令

            然后我們需要第二個(gè)要素,就是需要執(zhí)行的命令。我們使用帶有-l選項(xiàng)的wc命令來計(jì)算每個(gè)文件包含的換行符數(shù)目(會在輸出的每一行的前面打印出來):

            xargs命令

            xargs命令

            可以看到,不用對每個(gè)文件手動執(zhí)行一次wc -l命令,而xargs命令可以讓你在一步里完成所有操作。那些之前看起來無法完成的任務(wù),例如單獨(dú)處理數(shù)百個(gè)文件,現(xiàn)在可以相當(dāng)輕松地完成了。

            場景2:打印指定文件的第一行

            既然你已經(jīng)有一些使用xargs命令的基礎(chǔ),你可以自由選擇執(zhí)行什么命令。有時(shí),你也許希望只對一部分文件執(zhí)行操作而忽略其他的。在這種情況下,你可以使用find命令的-name選項(xiàng)以及?通配符(匹配任意單個(gè)字符)來選中特定文件并通過管道輸出給xargs命令。舉個(gè)例子,如果你想打印以“B”字符結(jié)尾的文件而忽略以“A”結(jié)尾的文件的第一行,可以使用下面的find、xargs和head命令組合來完成(head -n1會打印一個(gè)文件的第一行):

            xargs命令

            xargs命令

            你將看到只有以“B”結(jié)尾的文件會被處理,而所有以“A”結(jié)尾的文件都被忽略了。

            場景3:對每個(gè)文件執(zhí)行一個(gè)自定義腳本

            最后,你也許希望對一些文件執(zhí)行一個(gè)自定義腳本(例如Bash、Python或是Perl)。要做到這一點(diǎn),只要簡單地用你的自定義腳本名字替換掉之前例子中的wc和head命令就好了:

            xargs命令

            自定義腳本myscript.sh需要寫成接受一個(gè)文件名作為參數(shù)并處理這個(gè)文件。上面的命令將為find命令找到的每個(gè)文件分別調(diào)用腳本。

            注意一下上面的例子中的文件名并沒有包含空格。通常來說,在環(huán)境下操作沒有空格的文件名會舒服很多。如果你實(shí)在是需要處理名字中帶有空格的文件,上邊的命令就不能用了,需要稍微處理一下來讓它可以被接受。這可以通過find命令的-print0選項(xiàng)(它會打印完整的文件名到標(biāo)準(zhǔn)輸出,并以空字符結(jié)尾),以及xargs命令的-0選項(xiàng)(它會以空字符作為字符串結(jié)束標(biāo)記)來實(shí)現(xiàn),就像下面的例子:

            xargs命令

            注意一下,-name選項(xiàng)所跟的參數(shù)已經(jīng)改為'file*',意思是所有以"file"開頭而結(jié)尾可以是任意字符的文件都會被選中。

            總結(jié)

            在看完這篇教程后你應(yīng)該會理解xargs命令的作用,以及如何應(yīng)用到自己的工作中。很快你就可以有時(shí)間享受這個(gè)命令所帶來的高效率,而不用把你的時(shí)間耗費(fèi)在一些重復(fù)的任務(wù)上了。想了解更詳細(xì)的信息以及更多的選項(xiàng),你可以在終端中輸入'man xargs'命令來查看xargs的文檔。

            linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

            linux相關(guān)文章:linux教程


            電磁爐相關(guān)文章:電磁爐原理




            關(guān)鍵詞: Linux xargs命令

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉