linux 批量文件重命名

centos 6.6  mv  rename  都不能知足需求html

全部文件名格式以下:
centos

[yin0502@126.com][1442146016999][<55F566E1.1EB1B6.21669@m15-145.126.com>][callcenter@corp.elong.com][您已成功預訂【華山裕華賓館】].htmlide


須要將「][」更改成「###」並刪除首尾的「[」和「]」htm

一、首先轉義   ls | sed 's/@/\\@/g' | sed 's/\[/\\[/g' | sed 's/</\\</g' | sed 's/>/\\>/g' | sed 's/\]/\\]/g' | sed 's/(/\\(/g' | sed 's/)/\\)/g'字符串


二、處理並重命名 sed 's/\\\[\(.*\)\\\]\\\[\(.*\)\\\]\\\[\(.*\)\\\]\\\[\(.*\)\\\]\\\[\(.*\)\\\]/mv &.html \1###\2###\3###\4###\5.html/e'it


兩部分結合在一塊兒就能夠了class

注意:一、在第二步以前必定要把文件名全部的特殊字符轉義(第一步就是作這個的)sed

      二、第二步mv中的「&」表明所匹配的字符串  call

      三、sed 用法在這裏是   sed ‘s/*/mv & */e’命名

      四、第二步mv中的 「\1 \2 \3」等表明前面正則中的括號裏內容

相關文章
相關標籤/搜索