linux批量替換文件內(nèi)容的實現(xiàn)方式
  更新時間:2025年07月21日 14:21:11   作者:lfwh   
                        本文總結(jié)了Linux中批量替換文件內(nèi)容的幾種方法,包括使用sed替換文件夾內(nèi)所有文件、單個文件內(nèi)容及逐行字符串,強調(diào)使用反引號和絕對路徑,并分享個人經(jīng)驗供參考
                        一、linux批量替換文件內(nèi)容
sed -i "s/舊內(nèi)容/新內(nèi)容/g" `grep 舊內(nèi)容 -rl 文件夾路徑`
例如:
將/var/www/test文件夾下的所有文件內(nèi)容中的abc字符串換成123
sed -i "s/abc/123/g" `grep abc -rl /var/www/test`
注:
grep內(nèi)容用的不是單引號",而是`,tab鍵上面的,請使用絕對路徑
二、替換文件內(nèi)所有匹配的字符串
sed -i "s/舊內(nèi)容/新內(nèi)容/g" 文件路徑
例如:
將/var/www/test/index.html文件夾下的所有文件內(nèi)容中的abc字符串換成123
sed -i "s/abc/123/g" /var/www/test/index.html
三、替換每一行中全部str1為str2
:%s/str1/str2/g
替換當前行全部str1為str2
:s/str1/str2/g
四、例
sed -i "s#'2022-08-01' and '2022-08-20'#'2022-07-01' and '2022-08-01'#g" `grep "'2022-08-01' and '2022-08-20'" -rl *.ktr` sed -i "s/<commit>999/<commit>11/g" `grep '<commit>999' -rl /data/sh/wlhy/ktr` sed -i "s#'2022-08-01' and '2022-08-20'#'2022-07-01' and '2022-08-01'#g" `grep "'2022-08-01' and '2022-08-20'" -rl *.ktr` sed -i "s/FROM t_wlhy_driver/FROM t_wlhy_driver WHERE (CREATE_DATE IS NOT NULL AND DATE_SUB(CURDATE(), INTERVAL 30 DAY) \<\;= date(CREATE_DATE)) OR (UPDATE_DATE IS NOT NULL AND DATE_SUB(CURDATE(), INTERVAL 30 DAY) \<\;= date(UPDATE_DATE))/g" `grep 'FROM t_wlhy_driver' -rl wlhy-t_wlhy_driver_*.ktr`
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
 詳解Linux文件中的數(shù)據(jù)是如何被寫進磁盤
Linux 中,我們的每一個進程,打開的每一個文件都要有自己的 struct inode 對象和自己的文件頁緩沖區(qū)(就是所謂的內(nèi)核緩沖區(qū)),本文我們給大家介紹了Linux文件中的數(shù)據(jù)是如何被寫進磁盤,需要的朋友可以參考下2024-05-05
 linux文件系統(tǒng)調(diào)整大小的方法(linux調(diào)整分區(qū)大小)
本文歸納了在不破快文件系統(tǒng)數(shù)據(jù)的前提下對文件系統(tǒng)大小進行調(diào)整的方法.這里采用的是"拆東墻, 補西墻"的方法, 當然, 如果你的磁盤中有未分區(qū)的空閑空間, 你就不用減小某個分區(qū)的空間了2014-01-01
 Apache中偽靜態(tài)Rewrite的使用方法和URL重寫規(guī)則表達式講解
apache中的mod_rewrite模塊提供了一個基于正則表達式分析器的重寫引擎來實時重寫URL請求,主要的功能就是實現(xiàn)URL的跳轉(zhuǎn),它的正則表達式是基于Perl語言??苫诜掌骷壍?httpd.conf)和目錄級的(.htaccess)兩種方式,允許通過它來改變Apache?Web服務器的配置。2022-11-11

