精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用Linux xargs命令

CHANBAEK ? 來源:myfreax ? 作者:myfreax ? 2022-12-02 17:42 ? 次閱讀

xargs命令允許您從標準輸入或者文件生成命令的參數并命令。通常xargs命令通過管道與其他命令組合使用。

xargs還允許您將另一個命令的標準輸出作為另一個命令的參數。例如mkdirrm命令。如果未提供命令,默認是/bin/echo命令。

在本教程中,我們將向你介紹如何使用xargs命令的基礎知識。xargs命令默認使用空白符對標準輸入字符串作為分隔符。

你可以使用xargs命令的-d/--delimiter選項設置自定義分隔符,分隔符可以是單個字符,也可以是以開頭的轉義序列。

Xargs 命令

xargs命令的語法形式是xargs [OPTIONS] [COMMAND [initial-arguments]]

echo "file1 file2 file3" | xargs touch命令將會創建三個文件。等同于touch命令的touch file1 file2 file3

如果參數太多,或者嘗試調試xrags命令的運行結果。你可使用xrags命令的-t/--verbose選項測試xrags命令運行結果。

echo "file1 file2 file3" | xargs -t touch命令將會打印要運行的命令touch file1 file2 file3

echo "file1 file2 file3" | xargs touch
echo  "file1 file2 file3" | xargs -t touch #for test

你也可以使用xrags命令的-p/--interactive選項達到同樣效果,-p選項也會打印將要運行的命令。

-p選項會提示你是否運行命令。輸入y/nY/N確認是否運行命令。-p選項還有一點就是在編寫腳本會非常有用。

echo  "file1 file2 file3" | xargs -p touch
touch file1 file2 file3 ?...

xargs 命令參數

默認情況下,傳遞給命令的參數數量由系統限制決定。如果傳遞的參數太長命令將提示cannot execute [Argument list too long]。

xargs命令允許你使用-n/--max-args選項指定運行一次命令要傳遞的參數數量。xargs將使用參數運行多次指定的命令,直到用完所有參數為止。

例如命令echo "file1 file2 file3" | xargs -n 1 -t touch從標準輸入讀取的參數數量限制為1。

也就是一個參數運行一次touch命令。相當運行以file1 file2 file3作為參數運行3次touch命令。

這里限制傳遞參數為1僅作為示例,當然你也可以指定任意的正整數,但別超出系統的限制。

echo  "file1 file2 file3" |  xargs -n 1 -t touch
#eq
touch file1
touch file2
touch file3

xargs 命令讀取文件參數

xargs命令還可以從文件而不是標準輸入中讀取參數。如果你需要從文件讀取參數,請使用xargs命令-a/--arg-file選項,后跟文件名。

假設你有ips.txt文件包含多個IP地址并且一行包含一個IP地址。如果你沒有ips.txt文件請運行echo命令echo "8.8.8.8 8.8.4.4" > ips.txt創建文件。

然后運行命令xargs -t -L 1 -a ips.txt ping -c 1。這里還使用-L選項指示xargs一次讀取一行的參數。

如果省略此選項,xargs命令將會讀取所有IP一次傳遞給ping命令運行。

echo "8.8.8.8
8.8.4.4" > ips.txt
xargs -t -L 1 -a ips.txt ping -c 1

xargs 刪除空白字符

xargs也可以用于從指定字符串的兩端刪除空格或者空白的字符。這通常用于在shell腳本中比較字符串。

要刪除字符串兩端的空白字符串,只需將字符串通過管道傳遞給xargs命令,這相當與其它編程語言的trim函數,

echo " Long line " | xargs命令將會刪除字符串" Long line "的空白字符串。

echo "  Long line " | xargs

運行多個Xargs命令

要多個Xargs命令,請使用-I選項。它通過一個定義 replace-str來工作,然后-I 選項替換這些預定義的字符,并傳遞傳遞給xargs命令。

例如命令echo "file1 file2 file3" | xargs -t -I % sh -c '{ touch %; ls -l %; }'將會運行兩個命令,首先將使用touch命令創建文件,然后將使用ls命令列出文件。

這其實不是xrags去運行多個命令,xargs命令只是啟動shell子進程,運行命令'{ touch %; ls -l %; }'

百分號%是一個占位符,這是常見的使用方式。您可以使用任意符號作為占位符。另一個常見的選擇是ARGS作為占位符。

echo "file1 file2 file3" | xargs -t -I % sh -c '{ touch %; ls -l %; }'

xargs find

xargs命令也常用于與find命令組合使用。例如使用find命令搜索指定文件,然后用xargs命令對搜索結果執行操作。

由于xargs命令默認使用空白符對標準輸入字符串作為分隔符,為了避免文件名包含換行符或其它空白。請始終使用find命令的-print0選項。

-print0選項使find命令的搜索結果將不再使用換行符進行分隔。此時你就可以使用xargs命令使用-0/--null選項來解釋此標準輸入。

例如命令find /var/www/.cache -type f -print0 | xargs -0 rm -f將會刪除/var/www/.cache目錄的所有文件。

find /var/www/.cache -type f -print0 | xargs -0 rm -f

結論

至此,您應該對如何使用Linux xargs命令有一個很好的了解。每個xargs選項的更多詳細信息,請閱讀xargs手冊頁。

如有任何疑問,請隨時發表評論。如果排版存在錯亂,點擊下方閱讀原文獲取更好排版格式。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11232

    瀏覽量

    208961
  • 參數
    +關注

    關注

    11

    文章

    1791

    瀏覽量

    32111
  • 命令
    +關注

    關注

    5

    文章

    678

    瀏覽量

    21987
收藏 人收藏

    評論

    相關推薦

    Linuxxargs命令的使用方法

    xargs命令從標準輸入或另一個命令的輸出中讀取文本行,并將其轉換為命令并執行。
    發表于 11-25 15:14 ?7003次閱讀
    <b class='flag-5'>Linux</b>中<b class='flag-5'>xargs</b><b class='flag-5'>命令</b>的使用方法

    linux運維命令大全

    Linux高端運維學習需要掌握大量的命令及相關工具,通讀bash man page、掌握VIM使用、了解SSH是Linux高端運維工程師必備功課,熟練掌握Linux高端運維實用
    發表于 03-15 16:36

    [轉]find命令結合exec和xargs使用的區別

    本文轉自:老男孩教育官網轉載請注明出處:https://www.oldboyedu.com/zuixin_wenzhang/index/id/269.htmlfind命令結合exec和xargs
    發表于 09-03 15:26

    Linux與用戶有關的命令

    Linux與用戶有關的命令 Linux與用戶有關的命令  passwd命令  出于系統安全考慮,Lin
    發表于 01-18 12:46 ?764次閱讀

    Linux的常用網絡命令

    Linux的常用網絡命令 Linux 的常用網絡命令  計算機網絡的主要優點是能夠實現資源和信息的共享,并且用戶可以遠程訪問信息。Linux
    發表于 01-18 12:47 ?1173次閱讀

    Linux關機命令詳解

    Linux關機命令詳解 在linux下一些常用的關機/重啟命令有shutdown、halt、reboot、及init,它們都 可以達到重啟系統的目的,但每個
    發表于 01-18 12:52 ?3621次閱讀

    Linux系統命令指南

    在“Linux 文件命令精通指南”中,我們討論了利用最基礎和最常用 Linux 文件命令所需的基本信息。在本文中,我將對 Linux 系統
    發表于 05-23 10:23 ?956次閱讀

    Linux文件查找命令find,xargs詳述

    Linux文件查找命令find,xargs詳述 前言:關于find命令 由于find具有強大的功能,所以它的選項也很多,其中大部分選項都值得我們花時間來了解一下。即使系統中含有網絡文件
    發表于 11-07 11:17 ?0次下載

    linux常用命令大匯總

    ,還要查閱一些資料,實際操作實驗,進行過程比較慢,由于Linux水平不怎么樣,翻譯、整理過程中難免存在不足或錯誤,懇請大家批評指正。 xargs 或者 parallel,從標準輸入中讀取信息作為參數,初始化可執行命令,然后一次或
    發表于 09-22 00:12 ?416次閱讀

    linux有哪些常用的命令

     Linux命令非常之多,分為內部命令和外部命令
    發表于 02-27 08:00 ?4次下載
    <b class='flag-5'>linux</b>有哪些常用的<b class='flag-5'>命令</b>

    Linuxxargs命令簡介和選項說明

    1.命令簡介 xargs 可以將 stdin 中以空格或換行符進行分隔的數據,形成以空格分隔的參數(arguments),傳遞給其他命令。因為以空格作為分隔符,所以有一些文件名或者其他意義的字符串
    的頭像 發表于 03-11 16:47 ?3149次閱讀

    常用Linux命令介紹

    linux命令是對Linux系統進行管理的命令。對于Linux系統來說,無論是中央處理器、內存、磁盤驅動器、鍵盤、鼠標,還是用戶等都是文件,
    的頭像 發表于 02-09 14:31 ?1042次閱讀

    淺析Linux精致的命令

    這只是一小部分常用的Linux命令Linux有很多命令可以使用。建議通過man命令來查看命令
    的頭像 發表于 04-24 16:28 ?1531次閱讀

    shell命令linux命令一樣嗎

    Shell命令Linux命令并不完全一樣。 首先,Shell是一種命令行解釋器,它是用來解釋和執行用戶輸入的命令的。Shell既是一種
    的頭像 發表于 11-08 10:51 ?2783次閱讀

    linux重啟命令有哪些

    Linux是一種自由和開放源代碼的操作系統,被廣泛應用于服務器和嵌入式設備。在Linux中,有多種命令用于重啟系統。在本文中,我們將詳細介紹常用的Linux重啟
    的頭像 發表于 11-17 09:49 ?1984次閱讀