最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

啥時(shí)候用xargs

2022-12-17 19:18 作者:free-coder  | 我要投稿

主要講述以下兩個(gè)shell指令區(qū)別,通過這個(gè)例子來理解xargs與管道

1 不加xargs的管道

管道都是前面的輸出作為后面的輸入,而不加xargs這種正常的管道,講的具體一點(diǎn)是:

前面的輸出變成一個(gè)匿名文件,后面的shell接這個(gè)匿名文件

我們?cè)敿?xì)展開第一句的效果等同于下面的shell,這樣作用就很明顯了,就是先找到當(dāng)前目錄下test開頭的文件列表,然后呢這些文件名里面含有js字樣的給過濾出來

因?yàn)槲耶?dāng)前目錄有多個(gè)testx.js文件,所以上述指令結(jié)果如下

2?加xargs的管道

同樣還是前面的輸出作為后面的輸入,只不過這次沒有中間文件了,

前面shell的字符串輸出,通過空格和回車拆分成1或多條,后面shell接這一或多條

我們將第二局shell展開,就等效于下面指令,即找到所有test開頭的文件,并在文件內(nèi)容里尋找js字樣,注意不加xargs是在文件名里尋找??梢酝ㄟ^xargs后面加-t查看實(shí)際執(zhí)行的shell。

這幾個(gè)js文件的內(nèi)容中基本也都含有js字樣,指令結(jié)果如下。

3 xargs補(bǔ)充

3.1 -0 與 -d (這是零,不是O)

默認(rèn)是空格或回車為分割,但是文本中可能原來就有空格,經(jīng)常會(huì)有不想用空格做分割的情況,或者文本中本來有回車符,但是只想用多行shell輸出的回車符號(hào)。那么可以在前一個(gè)shell最后添加 -print0 表示用 \0 這個(gè)字符來分割shell輸出的每一行,后一個(gè)shell用xargs -0即可避免文本中本來的空格或回車引起的多分了行。

也可以使用-d自己指定分隔符,例如只指定回符號(hào)如下

3.2 -L 與 -I (大L與大i)

前面我們發(fā)現(xiàn)雖然有多行,但是第二句shell還是把多行隔開后,拼成了一句grep語句了,如果想每一行分別作為一句shell去運(yùn)行,則可以用-L 1參數(shù),1就是前面結(jié)果列表中一個(gè)元素過來拼成一個(gè)新的shell。

此時(shí)等價(jià)于

此外有時(shí)候我們的管道過來的字符串并不一定是放到shell最后,可能是前面,那強(qiáng)大的-I就提供了這個(gè)功能,下面占位符可以換成任意字符,常用{}罷了,也可以換成xxx等。

-I作用后,shell就只能被拆分了,所以也有-L 1的效果,等效于如下


啥時(shí)候用xargs的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
惠来县| 竹北市| 肥西县| 昂仁县| 柘城县| 天水市| 铜川市| 铁岭市| 万源市| 阜城县| 维西| 灵璧县| 麦盖提县| 西华县| 大渡口区| 滦南县| 内江市| 文山县| 邳州市| 阿坝县| 镇雄县| 和硕县| 南开区| 乐都县| 克什克腾旗| 黑龙江省| 连江县| 安新县| 鹿泉市| 万安县| 镇赉县| 谢通门县| 陈巴尔虎旗| 象州县| 皋兰县| 屯昌县| 邵武市| 内江市| 汝阳县| 西藏| 张家界市|