關(guān)于使用shell腳本循環(huán)處理文本的問(wèn)題
公司是使用puppet
來(lái)進(jìn)行配置管理, 某天修改完puppet
后領(lǐng)導(dǎo)回復(fù):
我們有一個(gè)文檔cabinet.txt
記錄了物理機(jī)器所在的機(jī)柜, 除了文檔里的其他機(jī)器都是虛擬機(jī)或云服務(wù)器, 對(duì)虛擬機(jī)的puppet
配置文件使用git還原為上一個(gè)版本, 不過(guò)機(jī)器數(shù)量非常多, 所以想能否使用腳本來(lái)跑一下, 沒(méi)有想象中的那么麻煩, 很簡(jiǎn)單的一個(gè)shell
腳本即可實(shí)現(xiàn)目的.
腳本如下:
#!/bin/bash for i in `ls manifests` do j=`echo $i | sed 's/.nutscloud.com.pp//g'` if [ `grep -c $j cabinet.txt` -eq 0 ];then echo $j git checkout HEAD^ manifests/$i fi done
執(zhí)行結(jié)果:
現(xiàn)在在vscode里面可以看到很多修改, 把他們提交就完事了~
其實(shí)有時(shí)候做一些小工具并沒(méi)有那么的難, 可能會(huì)覺(jué)得只用一次不如手?jǐn)]方便, 但是運(yùn)行一下所有事情都做完這種感覺(jué)是手?jǐn)]給不了你的.
到此這篇關(guān)于關(guān)于使用shell腳本循環(huán)處理文本的問(wèn)題的文章就介紹到這了,更多相關(guān)shell腳本處理文本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
shell實(shí)現(xiàn)多級(jí)菜單腳本編寫的示例代碼
本文主要介紹了shell實(shí)現(xiàn)多級(jí)菜單腳本編寫,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02深入探究Linux shell的實(shí)現(xiàn)原理
這篇文章主要介紹了Linux shell的實(shí)現(xiàn)原理,文中通過(guò)代碼示例和圖文介紹的非常詳細(xì),對(duì)大家探究Linux shell的實(shí)現(xiàn)原理有一定的幫助,需要的朋友可以參考下2024-02-02linux命令行下使用curl命令查看自己機(jī)器的外網(wǎng)ip
Linux命令行下使用curl命令查看自己機(jī)器的外網(wǎng)ip,大家參考使用吧2013-12-12awk命令、awk編程語(yǔ)言詳細(xì)介紹和實(shí)例
這篇文章主要介紹了awk命令、awk編程語(yǔ)言詳細(xì)介紹和實(shí)例,講解了如awk中的記錄、域、分割符,awk的內(nèi)建變量和運(yùn)算符等,需要的朋友可以參考下2014-07-07