xargs是給命令傳遞參數的一個過濾器,也是組合多個命令的一個工具。下面這篇文章主要給大家介紹了關于過濾器中xargs命令用法的相關資料,需要的朋友可以參考借鑒,下面來跟著小編一起看看吧。
前言
xargs命令是把接收到的數據重新格式化,再將其作為參數提供給其他命令,下面介紹xargs命令的各種使用技巧,一起來看看吧。
一、將多行輸入轉換成單行輸入:
[root@host1?test]#?echo?-e?"1?2?3?4?5?n6?7?8?n9?10?11?12"?>example.txt [root@host1?test]#?cat?example.txt? 1?2?3?4?5? 6?7?8? 9?10?11?12 [root@host1?test]#?cat?example.txt?|xargs? 1?2?3?4?5?6?7?8?9?10?11?12
將單行輸入轉換成多行輸出:
[root@host1?test]#?cat?example.txt?|?xargs?-n?3 1?2?3 4?5?6 7?8?9 10?11?12
自定義定界符進行轉換(默認的定界符是空格):
[root@host1?test]#?echo?"Hello:Hello:Hello:Hello"?|?xargs?-d?:?-n?2 Hello?Hello Hello?Hello
二、在腳本中運用:
[root@host1?test]#?cat?echo.sh? #!/bin/bash echo?$*?'^-^'
當參數傳遞給echo.sh后,它會將這些參數打印出來,并且以”^-^”作為結尾:
[root@host1?test]#?echo?-e?"TomnHarrynJerrynLucy"?>?args.txt [root@host1?test]#?cat?args.txt?|?xargs?bash?echo.sh? Tom?Harry?Jerry?Lucy?^-^ [root@host1?test]#?cat?args.txt?|?xargs?-n?2?bash?echo.sh? Tom?Harry?^-^ Jerry?Lucy?^-^
在上面的例子中,我們把參數源都放入args.txt文件,但是除了這些參數,我們還需要一些固定不變的參數,比如:
[root@host1?test]#?bash?echo.sh?Welcome?Tom? Welcome?Tom?^-^
在上述命令執行過程中,Tom是過濾器,其余部分為過濾器,我們可以從”args.txt”中提取參數,并按照下面的方式提供給命令:
[root@host1?test]#?bash?echo.sh?Welcome?Tom? [root@host1?test]#?bash?echo.sh?Welcome?Herry [root@host1?test]#?bash?echo.sh?Welcome?Jerry [root@host1?test]#?bash?echo.sh?Welcome?Lucy
這時我們需要使用xargs中-I命令:
[root@host1?test]#?cat?args.txt?|?xargs?-I?{}?bash?echo.sh?Welcome?{}? Welcome?Tom?^-^ Welcome?Harry?^-^ Welcome?Jerry?^-^ Welcome?Lucy?^-^
-I {} 指定替換過濾器,對于每一個命令參數,字符串{}都會被從stdin讀取到的參數替換掉,
使用-I的時候,命令以過濾器的方式執行,如果有4個參數,那么命令就會連同{}一起被執行4次,在每一次執行中{}都會被替換為相應的參數。
三、結合find使用
xargs和find是一對非常好的組合,但是,我們通常是以一種錯誤的方式運用它們的,比如:
[root@host1?test]#?find?.?-type?f?-name?"*.txt"?-print?|?xargs?rm?-f
這樣做是有危險的,有時會過濾器不必刪除的文件,如果文件名里包含有空格符(‘ ‘),則xargs很可能認為它們是定界符(例如,過濾器 text.txt會被xargs誤認為file和text.txt)。
如果我們想把find的輸出作為xargs的輸入,就必須將-print0與find結合使用以字符過濾器(’ 99久久er这里只有精品18| 久久亚洲AV无码西西人体| 中文精品久久久久人妻不卡| 国产成人久久精品一区二区三区| 无码国内精品久久人妻| 久久精品夜色噜噜亚洲A∨| 久久男人Av资源网站无码软件| 国内精品久久久久久麻豆 | 久久天天躁夜夜躁狠狠| 久久国产精品无码一区二区三区| 久久夜色tv网站| 色偷偷久久一区二区三区| 亚洲一区精品伊人久久伊人| 狠狠干狠狠久久| 国产日产久久高清欧美一区| 久久人人超碰精品CAOPOREN| 91精品国产色综合久久| 久久只有这里有精品4| 免费精品久久久久久中文字幕| 综合网日日天干夜夜久久| 久久97久久97精品免视看| 久久精品一区二区国产| 亚洲精品白浆高清久久久久久 | 国产精品久久久久久影院| 亚洲欧美成人久久综合中文网 | 久久99热这里只有精品66| 久久综合狠狠综合久久97色| 久久99毛片免费观看不卡| 久久久无码一区二区三区| 久久久噜噜噜久久中文字幕色伊伊 | 久久91精品国产91久久麻豆| 少妇高潮惨叫久久久久久| 国内高清久久久久久| 成人午夜精品无码区久久| 久久久久久国产a免费观看黄色大片| 国产精品99久久精品爆乳| 久久久久久国产精品无码下载| 久久91亚洲人成电影网站| 久久精品国产亚洲欧美| 国产激情久久久久影院| 国产精品女同一区二区久久|