xargs命令詳解

原理詳見 https://www.cnblogs.com/f-ck-need-u/p/5925923.html

0. xargs概述:

whereis xargs : #二進(jìn)制文件、源蛮穿、使用手冊(cè)位置

xargs: /usr/bin/xargs /home/xxx/sbin/xargs /home/work/xxx/bin/xargs /usr/share/man/man1p/xargs.1p.gz /usr/share/man/man1/xargs.1.gz

whatis xargs : # xargs所在使用手冊(cè)的章節(jié)位置

xargs       (1)  - build and execute command lines from standard input

man xargs : # xargs所在使用手冊(cè)的章節(jié)位置

xargs是一個(gè)強(qiáng)有力的命令榜旦,它能夠捕獲一個(gè)命令的輸出淫僻,然后傳遞給另外一個(gè)命令。

  • xargs從標(biāo)準(zhǔn)輸入(stdin)中讀取待處理數(shù)據(jù)
  • 待處理數(shù)據(jù)以空格進(jìn)行分隔
  • 可以根據(jù)參數(shù)進(jìn)行一次或多次處理, 默認(rèn)命令是echo厕九,
  • 忽略空行
  • 遇到命令狀態(tài)為255時(shí), xargs會(huì)立刻停止,譬如發(fā)生錯(cuò)誤時(shí).

命令格式:

somecommand | xargs -item command

1. 為什么要用xargs?

有些時(shí)候我們需要對(duì)一些linux操作進(jìn)行處理,比如

  • 現(xiàn)在有單個(gè)進(jìn)程pc_driver题翻,如何快速kill?

現(xiàn)在想要kill這個(gè)進(jìn)程腰鬼。使用ps -ef|grep pc_driver| kill 管道是不可行的嵌赠,


換個(gè)方法塑荒,使用如下命令,其效果類似 kill $PID

kill `ps -ef|grep pc_driver`

  • 考慮進(jìn)程變多了呢猾普?有很多pc_driver的進(jìn)程袜炕,該如何快速處理呢?

    方法1:與kill 單個(gè)進(jìn)程一樣初家,使用for循環(huán)處理偎窘。for pid in $(ps -ef | grep pc_driver | awk '{print $2}'); do kill -9 $pid; done

    方法2:使用xargs。ps -ef | grep pc_driver | awk '{print $2}' | xargs kill

2. xargs和管道的區(qū)別溜在?

  • 管道:‘|’是將前面的標(biāo)準(zhǔn)輸出作為后面的標(biāo)準(zhǔn)輸入陌知;比如echo "hello" | cat 相當(dāng)于將echo的內(nèi)容"hello"當(dāng)作cat處理的文件內(nèi)容了,相當(dāng)于hello.txt文件有一行內(nèi)容hello,然后cat hello.txt

    image.png

  • xargs:是將標(biāo)準(zhǔn)輸入作為命令的參數(shù);比如echo "hello" | xargs cat 相當(dāng)于cat hello

2. xargs的常用操作命令

-a 選項(xiàng): 處理文本
-n 選項(xiàng): 將數(shù)據(jù)按照(-n 后的數(shù)字)分組, 默認(rèn)按照空格劃分
-d 選項(xiàng): 分隔符掖肋,默認(rèn)的xargs分隔符是回車
-t 選項(xiàng): 在每次執(zhí)行xargs后面的命令都會(huì)先打印一遍命令后才正式執(zhí)行
-p 選項(xiàng): 交互式處理
-E 選項(xiàng): 傳遞終止符仆葡。注-E只有在xargs不指定-d的時(shí)候有效,如果指定了-d則不起作用志笼,而不管-d指定的是什么字符沿盅,空格也不行

測(cè)試txt內(nèi)容如下

1, 2, 3, 4, 5, 6, 7, 8, 9
a, b, c, d, e, f, g, h, i

(1) 執(zhí)行 cat test.txt | xargs,或者 cat test.txt | xargs -a test.txt測(cè)試結(jié)果

1, 2, 3, 4, 5, 6, 7, 8, 9 a, b, c, d, e, f, g, h, i

(2) 執(zhí)行 cat test.txt | xargs -n 3, 測(cè)試結(jié)果

1, 2, 3,
4, 5, 6,
7, 8, 9
a, b, c,
d, e, f,
g, h, i

(3) 執(zhí)行cat test.txt | xargs -d ",", 測(cè)試結(jié)果

1  2  3  4  5  6  7  8  9
a  b  c  d  e  f  g  h  i

(4) 執(zhí)行cat test.txt | xargs -n 3 -t, 測(cè)試結(jié)果

/bin/echo 1, 2, 3,
1, 2, 3,
/bin/echo 4, 5, 6,
4, 5, 6,
/bin/echo 7, 8, 9
7, 8, 9
/bin/echo a, b, c,
a, b, c,
/bin/echo d, e, f,
d, e, f,
/bin/echo g, h, i
g, h, i

(4) 執(zhí)行cat test.txt | xargs -n 3 -p, 測(cè)試結(jié)果


(5) 執(zhí)行echo 'a b c' | xargs -E 'c' echo, 測(cè)試結(jié)果

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末纫溃,一起剝皮案震驚了整個(gè)濱河市腰涧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌紊浩,老刑警劉巖窖铡,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異坊谁,居然都是意外死亡费彼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門口芍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來箍铲,“玉大人,你說我怎么就攤上這事阶界『缗ィ” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵膘融,是天一觀的道長(zhǎng)芙粱。 經(jīng)常有香客問我,道長(zhǎng)氧映,這世上最難降的妖魔是什么春畔? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上律姨,老公的妹妹穿的比我還像新娘振峻。我一直安慰自己,他們只是感情好择份,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布扣孟。 她就那樣靜靜地躺著,像睡著了一般荣赶。 火紅的嫁衣襯著肌膚如雪凤价。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天拔创,我揣著相機(jī)與錄音利诺,去河邊找鬼。 笑死剩燥,一個(gè)胖子當(dāng)著我的面吹牛慢逾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播灭红,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼侣滩,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了变擒?” 一聲冷哼從身側(cè)響起胜卤,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎赁项,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體澈段,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡悠菜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了败富。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片悔醋。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖兽叮,靈堂內(nèi)的尸體忽然破棺而出芬骄,到底是詐尸還是另有隱情,我是刑警寧澤鹦聪,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布账阻,位于F島的核電站,受9級(jí)特大地震影響泽本,放射性物質(zhì)發(fā)生泄漏淘太。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蒲牧。 院中可真熱鬧撇贺,春花似錦、人聲如沸冰抢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)挎扰。三九已至翠订,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鼓鲁,已是汗流浹背蕴轨。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留骇吭,地道東北人橙弱。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像燥狰,于是被迫代替她去往敵國(guó)和親棘脐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容