linux查找并删除
⑴ 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鍙浠ユ斁寮冧缭瀛桦苟阃鍑
杈揿叆鑻辨枃镄勫啋鍙/铹跺悗杈揿叆涓涓瀛楃︿覆锛屽彲浠ユ煡镓捐ュ瓧绗︿覆
濡傛灉浠ヤ笂缁忛獙甯鍒版偍锛岄夯鐑﹀湪宸︿笅瑙掔粰镣逛釜璧烇纴璋㈣阿锛
⑵ vim linux下查找显示^M并且删除
在Linux下使用vim查找显示^M并删除,可以按照以下步骤操作:
一、查找显示^M
- 打开vim编辑器:首先,使用vim打开目标文件。
- 显示^M标志:在vim中输入命令:e ++ff=unix %,这将使vim以Unix格式显示文件内容,从而能直接查看并识别^M标志。在vim中,^M可以通过组合键ctrl + v后紧接着按下ctrl + m来生成。
二、删除^M
- 进入命令模式:确保vim处于命令模式。
- 执行替换命令:输入替换命令:%s/^M$//g,这将从文件中全局替换所有^M标志为空,从而删除它们。注意,这里的^M需要通过上述的组合键来输入。
三、批量查找并删除文件中的^M
如果需要在整个目录或子目录中批量查找并删除含有^M标志的文件,可以使用以下步骤:
- 查找含有^M的文件:使用命令find ./ | xargs grep '^M' l s来遍历当前目录及其子目录下的所有文件,并筛选出包含^M标志的文件名。
- 批量转换文件格式:使用dos2unix工具批量转换这些文件。转换命令为find ./ | xargs grep '^M' l s | xargs dos2unix。这将自动查找并转换所有含有^M标志的文件,确保文件格式符合Unix标准。
四、最佳实践
对于批量处理,最佳做法是直接使用find . | xargs dos2unix命令。这一命令会一次遍历整个文件系统,自动查找并转换所有含有^M标志的文件,确保文件格式符合Unix标准。
以上步骤可以帮助你在Linux下使用vim查找显示并删除^M标志。