日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
如何在Bash中找到兩個(gè)字符串之間的常用字符?

在日常的編程工作中,我們經(jīng)常需要對(duì)文本進(jìn)行處理。而其中一個(gè)比較常見(jiàn)的需求就是查找兩個(gè)字符串之間的共同字符。這時(shí)候,我們可以利用一些 Bash 命令來(lái)實(shí)現(xiàn)。

成都創(chuàng)新互聯(lián)公司是一家專(zhuān)注于做網(wǎng)站、成都網(wǎng)站制作與策劃設(shè)計(jì),溫州網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:溫州等地區(qū)。溫州做網(wǎng)站價(jià)格咨詢:13518219792

首先,讓我們看看如何使用 grep 命令來(lái)查找兩個(gè)字符串之間的共同字符。假設(shè)我們有以下文本:

```

hello world! this is a test string for finding common characters.

如果要查找 "world" 和 "string" 之間的共同字符,可以使用以下命令:

```bash

echo 'hello world! this is a test string for finding common characters.' | grep -oP '(?<=world).*?(?=string)' | sed 's/ //g' | fold -w1 | sort | uniq

該命令會(huì)輸出結(jié)果:

i

n

r

t

那么這條命令是怎么工作的呢?

首先,通過(guò) echo 命令將文本傳遞給 grep 命令。grep 的選項(xiàng) -o 表示只輸出匹配到的部分,并且使用 Perl 正則表達(dá)式語(yǔ)法(-P 選項(xiàng))。

接著,在正則表達(dá)式中使用了 lookbehind 和 lookahead 來(lái)匹配 "world" 和 "string" 之間任意長(zhǎng)度、任意內(nèi)容(.*?),并捕獲其中部分。

然后,通過(guò) sed 命令刪除捕獲部分中的空格,fold 命令將每個(gè)字符轉(zhuǎn)換為單獨(dú)的一行,sort 命令排序后去重輸出。

當(dāng)然,這只是其中一個(gè)實(shí)現(xiàn)方式。在 Bash 中還有其他命令和工具可以用來(lái)完成同樣的任務(wù)。

例如,在上面的命令中我們使用了 fold 和 sort 命令對(duì)結(jié)果進(jìn)行處理。如果你覺(jué)得這些步驟過(guò)于復(fù)雜,也可以直接使用 awk 命令取代:

echo 'hello world! this is a test string for finding common characters.' | grep -oP '(?<=world).*?(?=string)' | sed 's/ //g' | awk '{split($0,a,""); for (i=1; i<=length(a); i++) print a[i]}' | sort | uniq

該命令會(huì)輸出相同的結(jié)果:

以上就是如何在 Bash 中找到兩個(gè)字符串之間的共同字符。雖然這條命令可能比較復(fù)雜,但它展示了 Bash 的強(qiáng)大功能,并且能夠解決常見(jiàn)問(wèn)題。如果你經(jīng)常需要處理文本數(shù)據(jù)或編寫(xiě) Shell 腳本,請(qǐng)務(wù)必掌握相關(guān)技巧!


當(dāng)前文章:如何在Bash中找到兩個(gè)字符串之間的常用字符?
分享網(wǎng)址:http://www.dlmjj.cn/article/dpgesio.html