linux中替換
A. linux涓璿i鐨勬煡鎵俱佹浛鎹銆佸垹闄ゆ搷浣
vi鏌ユ壘鏇挎崲鍛戒護璇﹁В
涓銆佹煡鎵炬煡鎵懼懡浠/patternEnter 錛氬悜涓嬫煡鎵緋attern鍖歸厤瀛楃︿覆?patternEnter錛氬悜涓婃煡鎵緋attern鍖歸厤瀛楃︿覆浣跨敤浜嗘煡鎵懼懡浠や箣鍚庯紝浣跨敤濡備笅涓や釜閿蹇閫熸煡鎵撅細n錛氭寜鐓у悓涓鏂瑰悜緇х畫鏌ユ壘N錛氭寜鐓у弽鏂瑰悜鏌ユ壘瀛楃︿覆鍖歸厤pattern鏄闇瑕佸尮閰嶇殑瀛楃︿覆錛屼緥濡傦細
1: /abcEnter #鏌ユ壘abc2: / abc Enter #鏌ユ壘abc鍗曡瘝錛堟敞鎰忓墠鍚庣殑絀烘牸錛
闄ゆや箣澶栵紝pattern榪樺彲浠ヤ嬌鐢ㄤ竴浜涚壒孌婂瓧絎︼紝鍖呮嫭錛/銆乛銆$銆*銆.錛夛紝鍏朵腑鍓嶄笁涓榪欎袱涓鏄痸i涓巚im閫氱敤鐨勶紝鈥/鈥濅負杞涔夊瓧絎︺
1: /^abcEnter #鏌ユ壘浠abc寮濮嬬殑琛 2: /test$Enter #鏌ユ壘浠abc緇撴潫鐨勮 3: //^testEnter #鏌ユ壘^tabc瀛楃︿覆
浜屻佹浛鎹㈠熀鏈鏇挎崲
1: :s/vivian/sky/ #鏇挎崲褰撳墠琛岀涓涓 vivian 涓 sky2: :s/vivian/sky/g #鏇挎崲褰撳墠琛屾墍鏈 vivian 涓 sky3: :n,$s/vivian/sky/ #鏇挎崲絎 n 琛屽紑濮嬪埌鏈鍚庝竴琛屼腑姣忎竴琛岀殑絎涓涓 vivian 涓 sky4: :n,$s/vivian/sky/g #鏇挎崲絎 n 琛屽紑濮嬪埌鏈鍚庝竴琛屼腑姣忎竴琛屾墍鏈 vivian 涓 sky5: 錛坣 涓烘暟瀛楋紝鑻 n 涓 .錛岃〃紺轟粠褰撳墠琛屽紑濮嬪埌鏈鍚庝竴琛岋級6: 7: :%s/vivian/sky/ #錛堢瓑鍚屼簬 :g/vivian/s//sky/錛 鏇挎崲姣忎竴琛岀殑絎涓涓 vivian 涓 sky8: :%s/vivian/sky/g #錛堢瓑鍚屼簬 :g/vivian/s//sky/g錛 鏇挎崲姣忎竴琛屼腑鎵鏈 vivian 涓 sky
鍙浠ヤ嬌鐢 #鎴+ 浣滀負鍒嗛殧絎︼紝姝ゆ椂涓闂村嚭鐜扮殑 / 涓嶄細浣滀負鍒嗛殧絎
1: :s#vivian/#sky/# 鏇挎崲褰撳墠琛岀涓涓 vivian/ 涓 sky/2: :%s+/oradata/apras/+/user01/apras1+ 錛3: 浣跨敤+ 鏉 鏇挎崲 / 錛夛細 /oradata/apras/鏇挎崲鎴/user01/apras1/
鍒犻櫎鏂囨湰涓鐨刕M闂棰樻弿榪幫細瀵逛簬鎹㈣岋紝window涓嬬敤鍥炶濺鎹㈣岋紙0A0D錛夋潵琛ㄧず錛宭inux涓嬫槸鍥炶濺錛0A錛夋潵琛ㄧず銆傝繖鏍鳳紝灝唚indow涓婄殑鏂囦歡鎷峰埌unix涓婄敤鏃訛紝鎬諱細鏈変釜^M錛岃峰啓涓鐢ㄥ湪unix涓嬬殑榪囨護windows鏂囦歡鐨勬崲琛岀︼紙0D錛夌殑shell鎴朿紼嬪簭銆備嬌鐢ㄥ懡浠わ細cat filename1 | tr -d 鈥淾V^M鈥 newfile;浣跨敤鍛戒護錛歴ed -e 鈥渟/^V^M//鈥 filename outputfilename闇瑕佹敞鎰忕殑鏄鍦1銆2涓ょ嶆柟娉曚腑錛宆V鍜宆M鎸囩殑鏄疌trl+V鍜孋trl+M銆備綘蹇呴』瑕佹墜宸ヨ繘琛岃緭鍏ワ紝鑰屼笉鏄綺樿創銆傚湪vi涓澶勭悊錛氶栧厛浣跨敤vi鎵撳紑鏂囦歡錛岀劧鍚庢寜ESC閿錛屾帴鐫杈撳叆鍛戒護錛
1: :%s/^V^M//2: :%s/^M$//g
濡傛灉涓婅堪鏂規硶鏃犵敤錛屽垯姝g『鐨勮В鍐沖姙娉曟槸錛
1: tr -d 鈥/r鈥 src dest2: tr -d 鈥/015鈥 dest3: 4: strings AB
鍏跺畠鐢ㄦ硶
1: :s/str1/str2/ #鐢ㄥ瓧絎︿覆 str2 鏇挎崲琛屼腑棣栨″嚭鐜扮殑瀛楃︿覆 str12: :s/str1/str2/g #鐢ㄥ瓧絎︿覆 str2 鏇挎崲琛屼腑鎵鏈夊嚭鐜扮殑瀛楃︿覆 str13: :.,$ s/str1/str2/g #鐢ㄥ瓧絎︿覆 str2 鏇挎崲姝f枃褰撳墠琛屽埌鏈灝炬墍鏈夊嚭鐜扮殑瀛楃︿覆 str14: :1,$ s/str1/str2/g #鐢ㄥ瓧絎︿覆 str2 鏇挎崲姝f枃涓鎵鏈夊嚭鐜扮殑瀛楃︿覆 str15: :g/str1/s//str2/g #鍔熻兘鍚屼笂
浠庝笂榪版浛鎹㈠懡浠ゅ彲浠ョ湅鍒幫細g 鏀懼湪鍛戒護鏈灝撅紝琛ㄧず瀵規寚瀹氳岀殑鎼滅儲瀛楃︿覆鐨勬瘡嬈″嚭鐜拌繘琛屾浛鎹錛涗笉鍔 g錛岃〃紺哄彧瀵規寚瀹氳岀殑鎼滅儲瀛楃︿覆鐨勯栨″嚭鐜拌繘琛屾浛鎹錛沢 鏀懼湪鍛戒護寮澶達紝琛ㄧず瀵規f枃涓鎵鏈夊寘鍚鎼滅儲瀛楃︿覆鐨勮岃繘琛屾浛鎹㈡搷浣溿備篃灝辨槸璇村懡浠ょ殑寮濮嬪彲浠ユ坊鍔犲獎鍝嶇殑琛岋紝濡傛灉涓篻琛ㄧず瀵規墍鏈夎岋紱鍛戒護鐨勭粨灝懼彲浠ヤ嬌鐢╣鏉ヨ〃紺烘槸鍚﹀規瘡涓琛岀殑鎵鏈夊瓧絎︿覆閮芥湁褰卞搷銆備笁銆佺畝鍗曠殑vim姝e垯琛ㄨ揪寮忚勫垯鍦╲im涓鏈夊洓縐嶈〃杈懼紡瑙勫垯錛歮agic(/m)錛氶櫎浜$.*^涔嬪栧叾浠栧厓瀛楃﹂兘瑕佸姞鍙嶆枩鏉爊omagic(/M)錛氶櫎浜$^涔嬪栧叾浠栧厓瀛楃﹂兘瑕佸姞鍙嶆枩鏉/v錛堝嵆 very magic 涔嬫剰錛夛細浠諱綍鍏冨瓧絎﹂兘涓嶇敤鍔犲弽鏂滄潬/V錛堝嵆 very nomagic 涔嬫剰錛夛細浠諱綍鍏冨瓧絎﹂兘蹇呴』鍔犲弽鏂滄潬vim榛樿や嬌鐢╩agic璁劇疆錛岃繖涓璁劇疆涔熷彲浠ュ湪姝e垯琛ㄨ揪寮忎腑閫氳繃 /m /M /v /V寮鍏充復鏃跺垏鎹銆備緥濡傦細
1: //m.* # 鏌ユ壘浠繪剰瀛楃︿覆2: //M.* # 鏌ユ壘瀛楃︿覆 .* 錛堢偣鍙峰悗闈㈣窡涓鏄熷彿錛3: 4: //v(a.c){3}$ # 鏌ユ壘琛屽熬鐨刟bcaccadc5: //m(a.c){3}$ # 鏌ユ壘琛屽熬鐨(abc){3}6: //M(a.c){3}$ # 鏌ユ壘琛屽熬鐨(a.c){3}7: //V(a.c){3}$ # 鏌ユ壘浠繪剰浣嶇疆鐨(a.c){3}$
鎺ㄨ崘浣跨敤榛樿ょ殑magic璁劇疆錛屽湪榪欑嶆儏鍐典笅錛屽父鐢ㄧ殑鍖歸厤鏈夛細
1: //abc #鏌ユ壘浠test寮濮嬬殑瀛楃︿覆 2: /abc/ #鏌ユ壘浠test緇撴潫鐨勫瓧絎︿覆 3: 4: $ 鍖歸厤涓琛岀殑緇撴潫 5: ^ 鍖歸厤涓琛岀殑寮濮 6: / 鍖歸厤涓涓鍗曡瘝鐨勫紑濮嬶紝渚嬪//abcEnter:鏌ユ壘浠abc寮濮嬬殑瀛楃︿覆 7: / 鍖歸厤涓涓鍗曡瘝鐨勭粨鏉燂紝渚嬪/abc/Enter:鏌ユ壘浠abc緇撴潫鐨勫瓧絎︿覆 8: 9: * 鍖歸厤0鎴栧氭10: /+ 鍖歸厤1鎴栧氭11: /= 鍖歸厤0鎴1嬈12: 13: . 鍖歸厤闄ゆ崲琛岀︿互澶栦換鎰忓瓧絎 14: /a 鍖歸厤涓涓瀛楃15: /d 鍖歸厤浠諱竴鏁板瓧 16: /u 鍖歸厤浠諱竴澶у啓瀛楁瘝17: 18: [] 鍖歸厤鑼冨洿錛屽倀[abcd]s 鍖歸厤tas tbs tcs tds19: /{} 閲嶅嶆℃暟錛屽俛/{3,5} 鍖歸厤3~5涓猘20: /( /) 瀹氫箟閲嶅嶇粍錛屽俛/(xy/)b 鍖歸厤ab axyb axyxyb axyxyxyb ...21: /| 鎴栵紝濡傦細for/|bar 琛ㄧず鍖歸厤for鎴栬卋ar22: 23: /%20c 鍖歸厤絎20鍒24: /%20l 鍖歸厤絎20琛
vi+鏂囦歡鍚嶏紝鍙浠ュ壋寤轟竴涓鏂囦歡
鐢╟at+闂浠峰悕錛屽彲浠ユ煡鐪嬩竴涓鏂囦歡
鐢╟ut -f3+鏂囦歡鍚嶏紝鍙浠ラ夋嫨鏂囦歡涓鐨勭3孌靛瓧絎
杈撳叆鑻辨枃鐨勫啋鍙:鐒跺悗杈撳叆wq鍙浠ヤ繚瀛樻枃浠跺唴瀹瑰苟閫鍑
杈撳叆鑻辨枃鐨勫啋鍙:鐒跺悗杈撳叆q鍙浠ユ斁寮冧繚瀛樺苟閫鍑
杈撳叆鑻辨枃鐨勫啋鍙/鐒跺悗杈撳叆涓涓瀛楃︿覆錛屽彲浠ユ煡鎵捐ュ瓧絎︿覆
濡傛灉浠ヤ笂緇忛獙甯鍒版偍錛岄夯鐑﹀湪宸︿笅瑙掔粰鐐逛釜璧烇紝璋㈣阿錛
B. linux命令行替換文件內容
通過你的描述,替換命令如下:
1、tr 命令來進行替換
[root@localhost ss1]# tr '111' '2222222' < aa.txt
2、sed 命令
[root@localhost ss1]# sed 『s/wyf/wzw/g』 ./person.txt
這里使用sed 內置命令s 來實現替換功能,並且使用了全局替換標志g 表示替換文件中匹配wyf的所有字元串。
溫馨提示:
1、tr 命令在接文件時比較特殊,需要輸入重定向符號 「<」
2、凡是在文本中出現的「111」均應轉換成「222222」,而不是僅僅將單個進行轉換,這個要注意。
3、在使用sed 命令時,要注意一下語法格式,將要替換的文本「wyf」放在第一個和第二個「/」 之間,將替換後的文本「wzw」放到第二個和第三個「/」 之間。這個要注意。
以上就是我的回答,在具體操作時,可能會有出入,如有問題可私信+關注,我會第一時間來進行回復追答,希望我的回答能幫到你。
C. Linux下的shell編程 如何替換文件中的內容
可以這樣做:
方法1:sed -i 's/被替換的內容/要替換成的內容/' file
方法2:sed 's/被替換的內容/要替換成的內容/g' file > file.out;mv file.out file。
(3)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、重定向標准輸出和標准錯誤:&> 將標准輸出、標准錯誤信息全部保存到指定文件,而不是直接顯示在屏幕上。
D. linux腳本怎麼替換中括弧裡面的內容
使用以下的命令:echoThisis[old_text]content|sed's/[old_text]/[new_text]/g'。
在Linux的命令行中,可以使用sed命令來替換中括弧中的內容。假設想要將一行文本中形如[old_text]的內容替換為[new_text],可以使用以下的命令:echoThisis[old_text]content|sed's/[old_text]/[new_text]/g'其中,sed是用於替換文本的命令,s表示「替換(substitute)」,[old_text]表示匹配方括弧中的old_text,[new_text]表示要替換的新文本。
在正則表達式中,方括弧是有特殊含義的元字元,需要用反斜杠對其進行轉義。g表示全局替換,將所有匹配到的內容都進行替換。在上面的例子中,輸出結果為:Thisis[new_text]content也就是將old_text替換為了new_text。