xargs參數

功能:將標準輸入分割後轉化爲命令參數。

例子:echo "*.py"| xargs find ./ -name,查找當前目錄下的所有py文件。

-d 制定分隔符

默認情況下,xargs將空格和換行符作爲分隔符,xargs -d "\t" command指定\t爲分隔符

-p -t

-p在執行命令前會打印命令並確認,-t只會打印命令,不用確認。

-0 與find

由於xargs默認將空格作爲分隔符,所以不太適合處理文件名,因爲文件名可能包含空格。

find命令有一個特別的參數-print0,指定輸出的文件列表以null分隔。然後,xargs命令的-0參數表示用null當作分隔符。

$ find /path -type f -print0 | xargs -0 rm

上面命令刪除/path路徑下的所有文件。由於分隔符是null,所以處理包含空格的文件名,也不會報錯。

-n

-n指定每次將多少項作爲命令行參數

echo a b c | xargs -n 1 -t echo
# echo a
# a
# echo b
# b
# echo c
# c

-I

指定參數位置,xargs默認將參數放在命令最後,-I可以指定佔位符。

echo ./ | xargs -I pos find pos -name "*.py"查找當前目錄下的py文件,pos爲佔位符

--max-procs

-n參數時,命令會執行多次,默認一個進程執行,--max-procs可以指定最多使用幾個進程,--max-procs 0不限制進程

參考鏈接

https://ruanyifeng.com/blog/2019/08/xargs-tutorial.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章