替換專案中的包名
專案已經做完了,但是包名字首不符合公司規範.
專案中所有的類似 package com.sqi.opb.admin 的包名,引用
都要從 com.sqi 替換為 com.bj
這個首先需要替換所有的java檔案,pom檔案和yml配置檔案裡面的內容
然後批次移動資料夾
實現 很簡單 linux 兩行命令
sed -i "s/com.sqi/com.bj/g" `grep com.sqi -rl /cygdrive/d/opb/ | grep ".java\|.pom\|.yml\|.kt"` find /cygdrive/d/opb/ -path "*src/*/sqi" -type d -exec bash -c 'p=$(echo "{}"); target=$(echo "{}" | sed "s/sqi/bj/g");mv $p $target;' \;
我在windows上安裝的cygwin工具 專案目錄是/cygdrive/d/opb
首先看第一行命令的 grep部分
grep com.sqi -rl /cygdrive/d/opb/ | grep ".java\|.pom\|.yml"
他的結果如下
他遍歷 /cygdrive/d/opb/ 下所有的子目錄下的所有檔案, 如果包含 “ com.sqi ”的內容 並且檔案字尾名是 .java .pom .yml .kt則顯示檔名
sed -i "s/com.sqi/com.bj/g" 然後透過 sed -i 在原檔案直接進行替換, 將 com.sqi替換為 com.bj
第二步 批次移動目錄
find /cygdrive/d/opb/ -path "*src/*/sqi" -type d
將 /cygdrive/d/opb/ 目錄下 ,所有 路徑包含 "*src/*/sqi" 的目錄找出來
結果如下
以目錄 /cygdrive/d/opb/api-mock/src/main/java/com/sqi 為例
只需要將其 移動到 /cygdrive/d/opb/api-mock/src/main/java/com/bj 目錄即可
所以 exec子句 實現了這個功能
-exec bash -c 'p=$(echo "{}"); target=$(echo "{}" | sed "s/sqi/bj/g");mv $p $target;' \;
{} 指代的是 前面 find 找到的路徑 將這個路徑的 sqi替換為bj 之後,mv即可
注意 exec 子句結束的時候 空格\; 的 空格不可缺少
參考:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-2638869/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- k8s Java 專案替換 jar 中的 class 檔案K8SJavaJAR
- puppet替換檔案中的string
- Android Studio修改專案名和包名Android
- mybatis-攔截器實際應用-替換表名-2022新專案MyBatis
- 將專案裡的moment替換為day.jsJS
- js中字串的替換JS字串
- Java 替換PDF中的字型Java
- Java替換PDF中的字型Java
- 使用shell指令碼替換csv檔案中的資料指令碼
- 用python批量替換MD檔案中的圖片地址Python
- 使用正規表示式替換報表名稱中的特殊字元(推薦)字元
- Swift 中單例模式的替換Swift單例模式
- js中字串全部替換JS字串
- Gradle多渠道打包(動態設定App名稱,應用圖示,替換常量,更改包名,變更渠道)GradleAPP
- sed 原地替換檔案時遇到的趣事
- linux中批量替換文字中字串Linux字串
- 如何在word中進行查詢與替換 word文件中的替換與查詢功能
- 教你如何替換@PathVariable中的變數變數
- bash 引數替換中的模式匹配模式
- SQL中的替換函式replace()使用SQL函式
- 【解決方案】專案重構之如何使用 MySQL 替換原來的 MongoDBMySqlMongoDB
- vim內替換檔案內容
- 第五章 字串專題 ---------------- 5.4 實踐:替換字串中的空格字串
- 使用 sed 命令查詢和替換檔案中的字串的 16 個示例字串
- 使用sed 命令查詢和替換檔案中的字串的方法總結字串
- HTML 替換元素與非替換元素HTML
- oracle sqldeveloper下 自定義Snippets檔案的替換OracleSQLDeveloper
- Stata-將變數名稱替換成標籤變數
- 使用Winston替換NestJS專案中Nest內建的logger以及結合全域性異常過濾器JS過濾器
- Java Word中的文字、圖片替換功能Java
- 用javascript替換URL中的引數值JavaScript
- 替換字串中的空格《演算法很美》字串演算法
- linux替換jar裡面的class檔案LinuxJAR
- word 中批次替換字型顏色
- Vi替換
- 替換空格
- 約束前端專案中的目錄和檔名前端
- 從Maven專案中獲取Jar包MavenJAR