find xargs sed批量替換

2021-08-19 21:14:41 字數 410 閱讀 8410

寫**時經常遇到要把 .c  和 .h的檔案中的某些內容全部替換的情況,用sourceinsight 進行全域性的查詢是乙個方法,但是sourceinsight只能替換乙個檔案中的字串,不能同時替換多個檔案中的同乙個字元,在linux下 使用find,結合sed,xargs 可以實現這個功能。

把當前目錄下的所有.c 和 .h 檔案中的 "waf"字元 全部 替換成 「tamper」

find . -name "*.[ch]" |xargs sed -i 's/waf/tamper/g'

把、/opt/test/ 目錄下所有含有"linux"字元的檔案全部替換成windows

命令如下

find /opt/test/ -type f | awk -f":" '' |xargs sed -i's/linux/windows/g'

Windows PowerShell批量替換檔名

q 假如資料夾有批量相似的檔名,如果檔名不符合需求了,要怎麼改呢,文件可以 ctrl h 一鍵替換字元,系統檔名可不支援 ctrl h 一鍵替換字元,動手能力強的已經乙個個手動在改了 滑稽,你是原始人嘛 如圖 可以通過windows自帶的powershell寫指令碼來實現批量修改檔名 下面來實現一下...

2 替環空格

思路 從前往後替換,後面的字元要不斷往後移動,要多次移動,所以效率低下,時間複雜度 o n2 從後往前,先計算需要多少空間,然後從後往前移動,則每個字元只為移動一次,這樣效率更高一點。時間複雜度o n 1 public class solution 89 int newlength str.leng...

Java的引用傳替

public class sample private static void add a objecta class a結果為 0 1字串有點兒意思 public class sample public static void add string a,string b 結果為 aaaa aaaa...