linux替換文件內容
1.批量改名採用命令rename
rename 語法:
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
-v表示顯示詳細信息,-n表示不實際執行替換,只是看哪些文件會受影響。 -f 表示強制,不管是否有重名。
perlexpr是perl語法的表達式, files則是匹配項。因此,該命令執行結果與perlexpr有關,不一定就是改文件名。
實例: 將所有文件名*.html 改為對應的.htm
rename 's//.html$//.htm$/' *.html
去bak後綴
rename 's//.bak$//' *.bak
將文件名大寫改為小寫
rename 'y/A-Z/a-z/' *
但rename不能遞歸修改。
2.遞歸改名,用find+rename
將文件名的abc改為xyz
find . -name "abc*" -exec rename 's/abc/xyz/' {} /;
該命令可以將當前目錄下所有子目錄的文件都改名。
3.內容替換,用find+sed
將所有ablo 替換為ablozhou
find . -type f -exec sed -i -e "s/ablo/ablozhou/g" {} /;
sed 命令 -i 表示 --in-place,文件原地替換。-e 後跟替換表達式
② linux替換原來文件的命令
可以使用 Linux 系統的拷貝命令 cp,對原來的文件進行替換。例如:
$cp newfile oldfile
該命令的作用就是使用現在 newfile 的內容,替換掉原來 oldfile 的內容。
③ linux vim鏂囦歡鎬庝箞鏇挎崲鍐呭
鍑犱釜甯哥敤鐨勬柟娉曞備笅:
:%s/foo/bar/g
鎶婂叏閮╢oo鏇挎崲涓篵ar,鍏ㄥ矓鏇挎崲
:s/foo/bar/g
褰撳墠琛屾浛鎹foo涓篵ar
:%s/foo/bar/gc
鏇挎崲姣忎釜foo涓篵ar,浣嗛渶瑕佺『璁.
:%s/\<foo\>/bar/gc
鍗曡瘝鍖歸厤鏇挎崲, 闇紜璁
:%s/foo/bar/gci
蹇界暐foo澶у皬鍐,鏇挎崲涓篵ar, 闇紜璁
④ Linux下的shell編程 如何替換文件中的內容
可以這樣做:
方法1:sed -i 's/被替換的內容/要替換成的內容/' file
方法2:sed 's/被替換的內容/要替換成的內容/g' file > file.out;mv file.out file。
(4)linux替換文件內容擴展閱讀:
Shell編程的常用技巧:
一、自動補齊:在linux中對於命令或路徑,可以TAB鍵進行自動補全,以下事項需要注意:
1、只存在一個該輸入字元開頭的命令或路徑,此時自動補全;
2、存在多個該輸入字元開頭的命令或路徑,此時第一次點擊TAB鍵無效廳鍵中,此時再次點扮山擊TAB會羅列出所有該字元開頭的命令或路徑,繼續輸入直到僅僅剩一個時自動補全;
3、如果命令已經是完整的,TAB鍵則是本來的移動功能;而路徑的話要看命令自身的行為決定後續動作。
二、歷史命令
1、history命令可以顯示歷史執行過的命令;
2、使用!+序號執行該序號對應的命令;
3、使用!+字元執亮岩行該字元開頭的最後一次執行的指令。
三、命令別名
1、實現別名:alias ddd="df -Th";
2、刪除別名:unalias ddd;
3、顯示所有別名命令列表:alias;
4、存放位置:~/.bashrc (加入該文件後,重啟後不會消失)。
四、重定向
1、重定向標准輸入:< 命令接收輸入的途徑由鍵盤改為文件;
2、重定向標准輸出:> 將命令的執行結果輸出到指定文件,而不是直接顯示到屏幕;
3、重定向標准輸出:>> 將命令的執行結果追加輸出到指定文件;
4、重定向標准錯誤:2> 清除指定文件的內容,並把標准錯誤信息保存到指定文件;
5、重定向標准錯誤:2>> 標准錯誤信息追加到指定文件;
6、重定向標准輸出和標准錯誤:&> 將標准輸出、標准錯誤信息全部保存到指定文件,而不是直接顯示在屏幕上。