欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux xargs命令詳細介紹

 更新時間:2017年01月09日 08:50:28   投稿:lqh  
這篇文章主要介紹了 Linux xargs命令詳細介紹的相關(guān)資料,xargs是給其他命令傳遞參數(shù)的一個過濾器,是構(gòu)建單行命令的重要組件之一,需要的朋友可以參考下

 Linux xargs命令

1.功能:

xargs可以將stdin中以空格或換行符進行分隔的數(shù)據(jù),形成以空格分隔的參數(shù)(arguments),傳遞給其他命令。因為以空格作為分隔符,所以有一些文件名或者其他意義的名詞內(nèi)含有空格的時候,xargs可能會誤判。簡單來說,xargs是給其他命令傳遞參數(shù)的一個過濾器,是構(gòu)建單行命令的重要組件之一。

之所以要用到xargs,是因為由于很多命令不支持使用管道|來傳遞參數(shù),例如:

find /sbin -perm +700 |ls -l     //這個命令是錯誤,因為標準輸入不能作為ls的參數(shù)
find /sbin -perm +700 |xargs ls -l  //這樣才是正確的

2.命令格式

xargs [選項] [command]

3.選項說明:

-0:如果輸入的stdin含有特殊字符,例如反引號`、反斜杠\、空格等字符時,xargs可以將它還原成一般字符。為xargs的默認選項。
-e <flag>,-E <flag>,--eof=<eof-str>:eof是end of file string的意思。flag可以是一個字符串或者是由空格分隔的多個字符串,當xargs分析到這個flag時,就會停止工作。見示例2。
-p:當每次執(zhí)行一個argument的時候詢問一次用戶。
-n <num>:表示命令在執(zhí)行的時候一次使用的argument的個數(shù),由num指定,默認是用所有的參數(shù)。
-t:表示先打印命令,然后再執(zhí)行。
-a <file>:從文件中讀入作為sdtin。
-i,-I:其中-I某些Linux版本不支持。將xargs的輸出每一項參數(shù),單獨賦值給后面的命令,參數(shù)需要用{}代替。見示例3。
-r:或者--no-run-if-empty,當xargs的輸入為空的時候則停止xargs,不用再去執(zhí)行后面的命令了,-r是xargs的默認選項。
-s <num>:命令行的最大字符數(shù),指的是xargs后面那個命令的最大命令行字符數(shù),包括命令、空格和換行符。每個參數(shù)單獨傳入xargs后面的命令。見示例4。
-L <line_num>:設(shè)置標準輸入中最大的行數(shù)作為命令每一次執(zhí)行的參數(shù)。見示例5。
-d <delim>, --delimiter=<delim>: xargs處理標準輸入默認是按換行符和空格作為分隔符,輸出arguments的分隔符是空格,這里修改xargs處理標準輸入時的分隔符。
-x:eXit的意思,主要是配合-s使用,當命令行字符數(shù)大于-s指定的數(shù)值時,退出xargs。
-P:修改最大的進程數(shù),默認是1,為0時候為as many as it can。該選項比較少用,目前還不清楚該用法。

4.用法示例

(1)將shell的特殊字符還原為一般字符。

[b3335@MIC ~]$ echo '`0123`4 56789'|xargs -t echo
echo `0123`4 56789 
`0123`4 56789

如果直接進行如下操作,會報無法找到命令01234的錯誤,因為反引號在shell中會將01234作為一個命令來執(zhí)行,但是01234不是一個命令。-t表示先打印命令,然后再執(zhí)行。

[b3335@MIC ~]$ echo `01234` 56789
-bash: 01234: command not found
56789

(2)設(shè)置xargs讀入?yún)?shù)時的結(jié)束標識,以逗號結(jié)束。這里要注意結(jié)束標志必須要是單獨的字段,即以空格或者換行符分隔的字段。

[b3335@MIC ~]$ echo 01234 , 56789|xargs -E ","
01234

(3)將當前目錄的所有文件添加后綴名。

ls | xargs -t -i mv {} {}.bak

(4)設(shè)置命令行的最大字符數(shù)。參數(shù)默認一個一個單獨傳入命令中執(zhí)行。

[b3335@MIC test]$ echo "01234 56789"|xargs -t -s 11
echo 01234 
01234
echo 56789 
56789

(5)設(shè)置標準輸入中每次多少行作為命令的參數(shù),默認是將標準輸入中所有行的歸并到一行一次性傳給命令執(zhí)行。

[b3335@MIC test]$ echo -e "01234\n56789\n01234" | xargs -t -L 2 echo 
echo 01234 56789 
01234 56789
echo 01234 
01234

(6)將文件內(nèi)容以空格分隔同行輸出。

//列出文件內(nèi)容
cat test.txt
a b c d e
f g h i j 
k l m n o

//多行輸入單行輸出: 
cat test.txt | xargs
a b c d e f g h i j k l m n o

參考文獻

[1]Xargs用法詳解

相關(guān)文章

  • Linux下is not in the sudoers file的解決方案

    Linux下is not in the sudoers file的解決

    當我們使用sudo命令切換用戶的時候可能會遇到提示以下錯誤:用戶名 is not in the sudoers file.本文給大家分享原因分析及解決方案,感興趣的朋友跟隨小編一起看看吧
    2023-02-02
  • shell腳本之判斷輸入?yún)?shù)是否為整數(shù)值的實例

    shell腳本之判斷輸入?yún)?shù)是否為整數(shù)值的實例

    今天小編就為大家分享一篇shell腳本之判斷輸入?yún)?shù)是否為整數(shù)值的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Linux?shell命令行查詢文件中內(nèi)容常用的命令及其用法

    Linux?shell命令行查詢文件中內(nèi)容常用的命令及其用法

    在Linux中,查找文件內(nèi)容可以使用多種命令,如grep、find、ack和ripgrep,這些工具各有特點,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-09-09
  • bash shell邏輯表達式的使用

    bash shell邏輯表達式的使用

    bash shell邏輯表達式一般有3種寫法,本文就來介紹一下bash shell邏輯表達式的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2023-05-05
  • Shell+Linux命令實現(xiàn)日志分析

    Shell+Linux命令實現(xiàn)日志分析

    這篇文章主要介紹了Shell+Linux命令實現(xiàn)日志分析,本文給出了結(jié)合grep命令、awk命令等實現(xiàn)了幾個常用的日志分析統(tǒng)計長命令,需要的朋友可以參考下
    2014-08-08
  • linux下mysql如何自動備份shell腳本

    linux下mysql如何自動備份shell腳本

    對任何一個已經(jīng)上線的網(wǎng)站站點來說,數(shù)據(jù)備份都是必須的。無論版本更新還是服務(wù)器遷移,備份數(shù)據(jù)的重要性不言而喻。人工備份數(shù)據(jù)的方式不單耗費大量時間和精力,還灰常不專業(yè)。下面小編給大家分享linux下mysql自動備份shell腳本,需要的朋友可以參考下
    2015-09-09
  • Linux shell實現(xiàn)壓縮多個文件代碼實例

    Linux shell實現(xiàn)壓縮多個文件代碼實例

    這篇文章主要介紹了Linux shell實現(xiàn)壓縮多個文件代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Linux監(jiān)控cpu以及內(nèi)存使用情況之top命令(詳解)

    Linux監(jiān)控cpu以及內(nèi)存使用情況之top命令(詳解)

    下面小編就為大家?guī)硪黄狶inux監(jiān)控cpu以及內(nèi)存使用情況之top命令(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 一些你必須要熟練掌握的git命令

    一些你必須要熟練掌握的git命令

    git 現(xiàn)在的火爆程度非同一般,它被廣泛地用在大型開源項目,團隊開發(fā),以及獨立開發(fā)者,甚至學生之中。下面這篇文章主要給大家分享了一些你必須要熟練掌握的git命令,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-02-02
  • shell腳本測試某網(wǎng)段內(nèi)主機連通性

    shell腳本測試某網(wǎng)段內(nèi)主機連通性

    這篇文章主要介紹了shell腳本測試某網(wǎng)段內(nèi)主機連通性,需要的朋友可以參考下
    2017-10-10

最新評論