shell中對(duì)xargs命令傳參進(jìn)行編輯
以文件解壓為例,將當(dāng)前路徑下的所有g(shù)z文件解壓到同名的log文件中,解壓命令如下所示:
ls *.gz| xargs -n 1 -P 4 -I {} bash -c 'zcat "{}" > $(echo "{}" | sed "s/gz$/log/g")'執(zhí)行結(jié)果如下圖所示:

命令說明:
xargs -I {}占位的參數(shù)傳遞給后面的bash -c命令以進(jìn)行復(fù)雜的字符串替換操作。
使用$()引用計(jì)算結(jié)果,在括號(hào)中完成文件名的編輯。括號(hào)中使用"{}"引用傳入的文件名
sed "s/gz$/log/g"將echo傳遞的文件名中末尾的gz替換為log, gz$是正則表達(dá)式用于匹配后綴為gz的文件
也可使用下面的命令進(jìn)行解壓:
ls *.gz| xargs -n 1 -P 4 -I {} bash -c 'zcat "{}" > $(file="{}"; echo ${file::-3}.log)'${file::-3}表示去掉文件名末尾的三個(gè)字符,即".gz"
運(yùn)行結(jié)果和上述一致:

到此這篇關(guān)于shell中對(duì)xargs命令傳參進(jìn)行編輯的文章就介紹到這了,更多相關(guān)shell xargs傳參內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
shell腳本學(xué)習(xí)指南[六](Arnold Robbins & Nelson H
這篇文章主要介紹了shell腳本學(xué)習(xí)指南[六](Arnold Robbins & Nelson H.F. Beebe著),需要的朋友可以參考下2014-02-02
Linux中的more 和 less區(qū)別對(duì)比分析
在 Linux/Unix 系統(tǒng)中,more 和 less 都是用于分頁查看文本文件的命令,但 less 是 more 的增強(qiáng)版,功能更強(qiáng)大,這篇文章主要介紹了Linux中的more 和 less區(qū)別對(duì)比分析,需要的朋友可以參考下2025-05-05
Bash Shell中的select命令簡(jiǎn)單使用示例
這篇文章主要介紹了Bash Shell中的select命令簡(jiǎn)單使用示例,通常用于流程控制功能的實(shí)現(xiàn),需要的朋友可以參考下2015-07-07
Linux?ps命令詳解及Linux查看進(jìn)程的操作方法
這篇文章主要介紹了Linux?ps命令詳解,Linux查看進(jìn)程的操作方法,ps命令常用的方式有三種,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12
在多個(gè)?Linux?服務(wù)器上運(yùn)行多個(gè)命令的操作指南
如果你正在管理多臺(tái)?Linux?服務(wù)器,并且你想在所有?Linux?服務(wù)器上運(yùn)行多個(gè)命令,但你不知道該怎么做,不用擔(dān)心,本文我們將向您展示如何在多個(gè)?Linux?服務(wù)器上同時(shí)運(yùn)行多個(gè)命令,需要的朋友可以參考下2023-07-07
shell實(shí)現(xiàn)自動(dòng)adsl撥號(hào)并檢測(cè)連接狀況腳本分享
這篇文章主要介紹了shell實(shí)現(xiàn)自動(dòng)adsl撥號(hào)并檢測(cè)連接狀況腳本分享,本文給出了兩個(gè)腳本,一個(gè)是自動(dòng)撥號(hào)腳本,一個(gè)是檢測(cè)連接狀態(tài)腳本,需要的朋友可以參考下2014-12-12

