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。