在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

Linux中xargs命令簡介和選項說明

Linux愛好者 ? 來源:csdn ? 作者:戀貓大鯉魚 ? 2021-03-11 16:47 ? 次閱讀

1.命令簡介

xargs 可以將 stdin 中以空格或換行符進行分隔的數據,形成以空格分隔的參數(arguments),傳遞給其他命令。因為以空格作為分隔符,所以有一些文件名或者其他意義的字符串內含有空格的時候,xargs 可能會誤判。簡單來說,xargs 的作用是給其他命令傳遞參數,是構建單行命令的重要組件之一。

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

find /sbin -perm +700 | ls -l # 這個命令是錯誤,因為標準輸入不能作為ls的參數

find /sbin -perm +700 | xargs ls -l # 這樣才是正確的

2.命令格式

xargs [OPTIONS] [COMMAND]

3.選項說明

注意,長選項的強制性參數對于短選項也是強制的。

-0, --null

如果輸入的 stdin 含有特殊字符,例如反引號 `、反斜杠 、空格等字符時,xargs 將它還原成一般字符。為默認選項

-a, --arg-file=FILE

從指定的文件 FILE 中讀取輸入內容而不是從標準輸入

-d, --delimiter=DEL

指定 xargs 處理輸入內容時的分隔符。xargs 處理輸入內容默認是按空格和換行符作為分隔符,輸出 arguments 時按空格分隔

-E EOF_STR

EOF_STR 是 end of file string,表示輸入的結束

-e, --eof[=EOF_STR]

作用等同于 -E 選項,與 -E 選項不同時,該選項不符合 POSIX 標準且 EOF_STR 不是強制的。如果沒有 EOF_STR 則表示輸入沒有結束符

-I REPLACE_STR

將 xargs 輸出的每一項參數單獨賦值給后面的命令,參數需要用指定的替代字符串 REPLACE_STR 代替。REPLACE_STR 可以使用 {} $ @ 等符號,其主要作用是當 xargs command 后有多個參數時,調整參數位置。例如備份以 txt 為后綴的文件:find 。 -name “*.txt” | xargs -I {} cp {} /tmp/{}.bak

-i, --replace[=REPLACE_STR]

作用同 -I 選項,參數 REPLACE_STR 是可選的,缺省為 {}。建議使用 -I 選項,因為其符合 POSIX

-L MAX_LINES

限定最大輸入行數。隱含了 -x 選項

-l, --max-lines[=MAX_LINES]

作用同 -L 選項,參數 MAX_LINES 是可選的,缺省為 1。建議使用 -L 選項,因為其符合 POSIX 標準

-n, --max-args=MAX_ARGS

表示命令在執行的時候一次使用參數的最大個數

-o, --open-tty

在執行命令之前,在子進程中重新打開stdin作為/dev/TTY。如果您希望xargs運行交互式應用程序,這是非常有用的

-P, --max-procs=MAX_PROCS

每次運行最大進程;缺省值為 1。如果 MAX_PROCS 為 0,xargs 將一次運行盡可能多的進程。一般和 -n 或 -L 選項一起使用

-p, --interactive

當每次執行一個 argument 的時候詢問一次用戶

--process-slot-var=NAME

將指定的環境變量設置為每個正在運行的子進程中的唯一值。一旦子進程退出,將重用該值。例如,這可以用于初始負荷分配方案

-r, --no-run-if-empty

當 xargs 的輸入為空的時候則停止 xargs,不用再去執行后面的命令了。為默認選項

-s, --max-chars=MAX_CHARS

命令行的最大字符數,指的是 xargs 后面那個命令的最大命令行字符數,包括命令、空格和換行符。每個參數單獨傳入 xargs 后面的命令

--show-limits

顯示操作系統對命令行長度的限制

-t, --verbose

先打印命令到標準錯誤輸出,然后再執行

-x, --exit

配合 -s 使用,當命令行字符數大于 -s 指定的數值時,退出 xargs

--help

顯示幫助信息并退出

--version

顯示版本信息并退出

4.常用示例

(1)將 Shell 的特殊字符反引號還原為一般字符。

echo ‘`0123`4 56789’ | xargs -t echo

echo `0123`4 56789

`0123`4 56789

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

echo `01234` 56789

-bash: 01234: command not found

56789

(2)設置 xargs 讀入參數時的結束標識,以逗號結束。這里要注意結束標志必須要是單獨的字段,即以空格或者換行符分隔的字段。

echo 01234 , 56789 | xargs -E “,”

01234

(3)使用 rm、mv 等命令同時操作多個文件時,有時會報 “argument list too long” 參數列表過長的錯誤,此時可以使用 xargs 來解決。xargs 將標準輸入的字符串分隔后,作為參數傳遞給后面的命令。例如,給當前目錄的所有文件添加后綴名。

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

# 選擇符合條件的文件

ls | grep -E “201701|201702|201703” | xargs -I {} mv {} {}.bak

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

echo “01234 56789” | xargs -t -s 11

echo 01234

01234

echo 56789

56789

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

echo -e “01234

56789

01234” | xargs -t -L 2 echo

echo 01234 56789

01234 56789

echo 01234

01234

(6)將文件內容以空格分隔合并為一行輸出。

# 列出文件內容

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

(7)與 ps、grep、awk 和 kill 結合,強制終止指定進程。

ps -ef | grep spp | awk ‘{printf “%s ”,$2}’ | xargs kill -9

ps -ef|grep spp用于查找包含 spp 的進程,awk ‘{printf “%s ”,$2,FNR}將目標進程 ID 打印輸出,xargs kill -9則將目標進程 ID 作為參數傳遞給kill -9用于殺死進程。

原文標題:每天一個 Linux 命令(134):xargs 命令

文章出處:【微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    87

    文章

    11414

    瀏覽量

    212249

原文標題:每天一個 Linux 命令(134):xargs 命令

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux常用命令行總結

    學習了一段時間的linux之后,開始著手基本命令的學習,這里主要記錄一些學習過程重要的知識點供以后查閱。
    的頭像 發表于 03-03 10:40 ?352次閱讀
    <b class='flag-5'>Linux</b>常用<b class='flag-5'>命令</b>行總結

    Linux系統中最重要的三個命令

    Linux三劍客是Linux系統中最重要的三個命令,它們以其強大的功能和廣泛的應用場景而聞名。這三個工具的組合使用幾乎可以完美應對Shell的數據分析場景,因此被統稱為
    的頭像 發表于 03-03 10:37 ?288次閱讀

    Linux ip命令常用操作

    Linux?ip命令常用操作 在Linux系統,ip命令是用于管理網絡接口和路由的強大工具。相比于舊的?ifconfig
    的頭像 發表于 02-19 10:23 ?434次閱讀

    Linux實時查看日志的四種命令詳解

    如何在Linux實時查看日志文件的內容?那么有很多實用程序可以幫助用戶在文件更改或不斷更新時輸出文件的內容。在Linux實時顯示文件內容的常用
    的頭像 發表于 01-13 10:45 ?2015次閱讀
    <b class='flag-5'>Linux</b>實時查看日志的四種<b class='flag-5'>命令</b>詳解

    Linux grep命令詳解

    Linux grep命令是一種非常常用的文本搜索工具,它可以在給定的文件搜索匹配的字符串,并輸出匹配的行。grep是全稱“global search regular expression print”,可以識別正則表達式,并使
    的頭像 發表于 12-25 09:39 ?587次閱讀

    Linux文件查找

    :文件名稱、文件大小、文件修改時間、屬主屬組、權限、等等方式。同時find命令Linux下必須掌握的。 * find 命令的基本語法如下* 命令 路徑
    的頭像 發表于 12-03 17:09 ?538次閱讀

    盤點Linux系統的常見命令

    作為運維同學怎能不知道Linux系統的lsmod、lsof、lspci、lsscsi命令呢,今天就來盤一盤她及實例。
    的頭像 發表于 12-03 09:48 ?584次閱讀
    盤點<b class='flag-5'>Linux</b>系統<b class='flag-5'>中</b>的常見<b class='flag-5'>命令</b>

    Linux系統shell命令解析

    shell是Linux系統的用戶界面,提供了用戶與內核交互的一種接口,它接收用戶輸入的命令并到送到內核去執行,因此也被稱為Linux命令解釋器。
    的頭像 發表于 11-05 15:40 ?656次閱讀

    Linux實用命令大全

    Linux實用命令大全
    的頭像 發表于 10-23 13:50 ?467次閱讀
    <b class='flag-5'>Linux</b>實用<b class='flag-5'>命令</b>大全

    Linux lsof命令的基本用法

    linux 系統,一切皆文件。通過文件不僅僅可以訪問常規數據,還可以訪問網絡連接和硬件。所以 lsof 命令不僅可以查看進程打開的文件、目錄,還可以查看進程監聽的端口等 socket 相關的信息。本文將介紹 lsof
    的頭像 發表于 10-23 11:52 ?906次閱讀
    <b class='flag-5'>Linux</b> lsof<b class='flag-5'>命令</b>的基本用法

    Linux系統man命令的基本使用

    Linux系統提供了相對比較豐富的幫助手冊(man),man是manual的縮寫,在日常linux系統管理中經常用到,今天就簡單聊聊man。man 本身也提供自己的幫助手冊,通過man就可以查看。
    的頭像 發表于 09-29 15:59 ?755次閱讀
    <b class='flag-5'>Linux</b>系統<b class='flag-5'>中</b>man<b class='flag-5'>命令</b>的基本使用

    ADS16axx 基準選項應用說明

    電子發燒友網站提供《ADS16axx 基準選項應用說明.pdf》資料免費下載
    發表于 09-12 10:40 ?0次下載
    ADS16axx 基準<b class='flag-5'>選項</b>應用<b class='flag-5'>說明</b>

    shell基本介紹及常用命令之shell介紹

    命令。三、常用的shell命令Linux命令一般由三部分組成:Command [option] [parameter]。說明:一、[]部分
    發表于 08-15 09:28

    Linuxcut命令的實用示例

    Linux command cut 用于文本處理。您可以使用此命令通過選擇列從文件中提取部分文本。
    的頭像 發表于 08-05 15:14 ?484次閱讀

    SDRAM的active命令介紹

    在向SDRAM 的任何行發出 READ或 WRITE 命令之前,必須先打開該行。這是通過 ACTIVE 命令完成的。ACTIVE 命令的目的是打開或者說激活(active)bank
    的頭像 發表于 07-29 09:53 ?691次閱讀
    SDRAM<b class='flag-5'>中</b>的active<b class='flag-5'>命令</b>介紹
    主站蜘蛛池模板: 影音先锋色偷偷米奇四色 | 欧美.成人.综合在线 | 亚洲人成人| 精品国产香港三级 | 午夜看片免费 | 亚洲日本一区二区三区 | 亚洲乱码一区二区三区在线观看 | 婷婷开心激情 | 天天夜夜爽 | 欧美成人26uuu欧美毛片 | 日韩亚洲欧洲在线rrrr片 | 亚洲最大黄色网址 | 天天干天天操天天插 | 日本综合视频 | 亚洲第一毛片 | 国产精品成人va在线观看入口 | 日本免费视频 | 免费爱做网站在线看 | 神马午夜98| 国产亚洲一区二区在线观看 | 久久国产乱子伦精品免 | 亚洲狠狠网站色噜噜 | 高清视频一区二区 | 激情五月综合婷婷 | 久久九九国产精品怡红院 | 中文一区在线观看 | 亚洲一区二区中文字幕 | 天天干网址| 精品国产免费观看一区高清 | 涩色影院| 亚洲人成在线精品 | japan日韩xxxx69hd jdav视频在线观看 | 视频一区视频二区在线观看 | 色狠狠狠色噜噜噜综合网 | 天天澡天天摸天天添视频 | 5月婷婷6月丁香 | 欧美在线视频看看 | 欧美日本一区二区三区道 | www国产永久免费视频看看 | 在线天堂中文 | 欧美tube6最新69|