五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

多行文本轉(zhuǎn)成一行的實(shí)現(xiàn)方法

2023-07-10 19:47 作者:Cpp程序員  | 我要投稿

不知道你們有沒有遇到過下面的情況,以我為例

有時(shí)候我會(huì)收到批量操作服務(wù)器的需求,且我會(huì)拿到一個(gè)服務(wù)器 ip 列表,它是一個(gè)多行的形式,如下所示

# ip 列表192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5 192.168.0.6

但我使用 saltstack 進(jìn)行批量操作時(shí),我需要將上面的多行 ip 轉(zhuǎn)成一行的形式才能執(zhí)行 saltstack 命令

192.168.0.1,192.168.0.2,192.168.0.3,192.168.0.4,192.168.0.5,192.168.0.6# saltstack 批量操作命令例子 salt -L '192.168.0.1,192.168.0.2,192.168.0.3,192.168.0.4,192.168.0.5,192.168.0.6' cmd.run 'ls -l'

如果是少量 ip,直接手動(dòng)操作就行;如果 ip 數(shù)量特別多,手動(dòng)轉(zhuǎn)換的話就特別的麻煩了

下面我將介紹兩個(gè)比較常見的多行文本轉(zhuǎn)一行的實(shí)現(xiàn)方法,如果大家有更好的方法的話,歡迎大家積極討論參與!

shell 命令實(shí)現(xiàn)

tr?命令

tr?命令用于轉(zhuǎn)換或刪除文本中的字符,我們可以通過?tr --help?來查看它的幫助文檔

下面是一些關(guān)于?tr?命令的例子

#替換字符echo "hello" | tr 'o' 'a' ? # 輸出結(jié)果:hella#刪除字符echo "hello" | tr -d 'l' ? # 輸出結(jié)果:heo#壓縮連續(xù)字符:echo "hello" | tr -s 'l' ? # 輸出結(jié)果:helo

知道了這個(gè)命令的大概用法之后,我們就可以通過?tr?命令來實(shí)現(xiàn)多行轉(zhuǎn)一行

#命令如下:cat <<EOF | tr '\n' ',' 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5 192.168.0.6 EOF

上面的命令可以分為兩個(gè)部分,第一部分如下:

#第一部分cat <<EOF 192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5 192.168.0.6 EOF

  • 使用?cat?命令和?<<EOF?結(jié)構(gòu),它指示將下面的文本內(nèi)容作為輸入傳遞給?cat?命令

  • EOF:終止符,用于標(biāo)識(shí)輸入的結(jié)束

EOF在Linux中是一種約定的標(biāo)記,用于指示輸入的結(jié)束,它在不同的上下文中有不同的用途

在Here Document結(jié)構(gòu)中,EOF用于標(biāo)記輸入文本的開始和結(jié)束;在文件輸入中,EOF用于表示輸入的結(jié)束

有關(guān) Here Document 內(nèi)容:Here Document and Here String | Baeldung on Linux

上面命令輸出如下:

接下來我們來看第二部分

#第二部分tr '\n' ','

使用?tr?命令,它將?'\n'?(換行符)替換為逗號(hào)?','?。tr?命令用于字符轉(zhuǎn)換,'\n'?是被替換的字符,','?是替換的字符

第一部分和第二部分通過管道符?|?連接起來,表示將?cat?命令的輸出傳遞給?tr?命令處理

我們來看下輸出結(jié)果

Notepad++ 實(shí)現(xiàn)

這個(gè)方法適用于在 Windows 系統(tǒng),用 Notepad 實(shí)現(xiàn)

把多行 IP 復(fù)制到 Notepad 中,然后選中內(nèi)容——>輸入查找目標(biāo)和替換內(nèi)容——>點(diǎn)擊全部替換(注意下面的查找模式換成正則表達(dá)式)

  • \r\n?表示換行符,(.+)表示匹配任意字符,且至少匹配一次

  • \1?表示引用查找到的文本,,?表示逗號(hào)

需要注意的是,替換換行符之前你得先知道文本內(nèi)容中的換行符是 Windows 格式(\r\n) 還是 UNIX 格式(\n


多行文本轉(zhuǎn)成一行的實(shí)現(xiàn)方法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
澜沧| 明溪县| 乌兰县| 潼关县| 沽源县| 南澳县| 秀山| 岳阳市| 都兰县| 甘泉县| 中宁县| 贵阳市| 前郭尔| 霍林郭勒市| 罗平县| 保定市| 泰来县| 吉林省| 南召县| 江北区| 定日县| 新蔡县| 广丰县| 武宁县| 慈溪市| 措美县| 江源县| 东城区| 建湖县| 西林县| 卓尼县| 澳门| 保康县| 库伦旗| 全椒县| 东海县| 海城市| 积石山| 花垣县| 壶关县| 高邑县|