亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Linux服務器 > 正文

Linux shell利用sed如何批量更改文件名詳解

2024-09-05 23:04:11
字體:
來源:轉載
供稿:網友

前言

本文主要給大家介紹了關于Linux shell/262160.html">shell用linux/220607.html">sed批量更改文件名的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

示例

去除特定字符

目標:將 2017-01-01.jpg、2018-01-01.jpg 改為 20170101.jpg、20180101.jpg

方法:將所有 - 替換為空

for file in `ls | grep .jpg`do newfile=`echo $file | sed 's/-//g'` mv $file $newfiledone

這里使用sed進行標準輸出的字符串替換,其通用格式如下:

stdout | sed 's/pattern/replace/'

上述示例中,在末尾添加g用于替換所有匹配項,而不僅僅替換第一個匹配項。

中間插入字符

目標:將 book01.txt、paper02.txt 改為 book-01.txt、paper-02.txt

方法:用分組匹配分別獲取待插入位置兩側的字符串,再通過反向引用實現替換

for file in `ls | grep .txt`do newfile=`echo $file | sed 's//([a-z]/+/)/([0-9]/+/)//1-/2/'` mv $file $newfiledone

分析

上述示例首先通過 ls 和 grep 命令得到待改名的文件列表,然后用 sed 命令進行字符串的替換,最后再使用 mv 命令來完成文件名的更改。

獲取待改名文件列表的方法有很多,可以通過 find 命令,也可以直接給出字符串,我們將在下文中提到。

注意 for 循環后面的 ls | grep .txt,這條命令用兩個反單引號括了起來,與 $(ls | grep .txt) 的作用相同,被包圍的字符串會被當作命令執行,然后返回字符串結果。

文件名包含空格的解決方法

我們可以直接將文件列表寫到 for 循環中,而不是通過命令來得到,例如:

for file in "file1 file2 file3"do ...done

可以看到 for 循環是通過空格來分割字符串,因此如果待更改的文件名中包含空格的話,就會被拆分成多個文件名,從而出錯。

要解決這個問題,我們可以將 IFS(內部字段分隔符)設置為換行符 /n,這樣一來,for 循環就會按行來獲取變量的值,確保每次獲取的確實是一個完整的文件名。

設置 IFS 變量的命令需要放在 for 循環之前:

IFS=$'/n'for file in `ls`do ...done

也可以直接使用 while read 命令一次讀取一行到變量 file 中:

ls | grep "*.txt" | while read filedo ...done

使用 find 獲取文件列表

之前的示例中,我們是通過 ls 命令來獲取文件列表。該命令只能獲取某個目錄的文件,而且沒法進行多種條件的篩選。

而一說到文件的查找,不得不提到功能強大的 find 命令。該命令可以在多個層次的目錄中查找文件,并能夠設定諸如創建時間、文件大小、所有者等多種條件,查找起文件來特別方便靈活。

用 find 命令來獲取文件列表,再用 sed 命令配合正則表達式來修改文件名,這兩個命令的結合幾乎能完成所有常見的批量改名任務。

例如,將所有大于1M,且后綴為txt或jpg的文件,由形如 book_20170101.txt、image_20170101.jpg 的文件改名為 20170101-book.txt、20170101-image.jpg,代碼如下:

for file in `find . -size +1M -name "*_*.txt" -o -name "*_*.jpg"`do newfile=`echo $file | sed 's//([a-z]/+/)_/([0-9]/+/).//2-/1./'` mv $file $newfiledone

 

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品国产综合区久久久久久久| 亚洲最大av网站| 一区二区三区高清国产| 成人欧美一区二区三区在线| 日韩一区二区欧美| 亚洲第一中文字幕在线观看| 精品久久久久久久久久久久久久| 亚洲丝袜在线视频| 国产精品永久在线| 尤物99国产成人精品视频| 欧美一级高清免费| 综合136福利视频在线| 日韩av免费在线观看| 精品国产拍在线观看| 亚洲一区二区三区在线视频| 97久久久免费福利网址| 国产精品欧美日韩一区二区| 欧美在线激情视频| 国产精品高清在线观看| 中文字幕一精品亚洲无线一区| 久久资源免费视频| 精品久久久久久久久久ntr影视| 日韩欧美中文免费| 黄色精品在线看| 青青在线视频一区二区三区| 精品亚洲aⅴ在线观看| 97超碰色婷婷| 一本色道久久88综合亚洲精品ⅰ| 最近免费中文字幕视频2019| 久久天堂电影网| 国产+人+亚洲| 日韩精品有码在线观看| 久国内精品在线| www日韩欧美| 亚洲欧洲国产伦综合| 久久久久久久网站| 亚洲第一网站免费视频| 萌白酱国产一区二区| 人九九综合九九宗合| 狠狠躁夜夜躁人人躁婷婷91| 国产成人精品久久| 欧美成人精品一区| 精品久久久久久亚洲精品| 91麻豆桃色免费看| 国产欧美婷婷中文| 欧美亚洲成人xxx| 91久久在线播放| 亚洲欧美成人精品| 亚洲一区二区三区成人在线视频精品| 亚洲va欧美va国产综合久久| 国产999精品久久久| 国产精品av电影| 欧美午夜视频在线观看| 亚洲香蕉成视频在线观看| 午夜欧美不卡精品aaaaa| 国产激情久久久| 91精品久久久久久| 亚洲欧美一区二区激情| 久久国产精品亚洲| 91精品国产乱码久久久久久久久| 欧美专区日韩视频| 色综合久久88| 日韩电影大片中文字幕| 97在线视频国产| 伊人男人综合视频网| 日韩二区三区在线| 亚洲精品视频在线播放| 亚洲精品丝袜日韩| 91久久嫩草影院一区二区| 国产精品福利网站| 自拍偷拍免费精品| 欧美激情视频给我| 青青草精品毛片| 国产精品一区二区三区成人| 亚洲 日韩 国产第一| 欧美性极品少妇精品网站| 亚洲欧美综合图区| 日韩在线精品视频| 欧洲午夜精品久久久| 精品毛片网大全| 成人h片在线播放免费网站| 俺去了亚洲欧美日韩| 久久久999成人| 亚洲sss综合天堂久久| 亚洲欧美日韩视频一区| 亚洲美女视频网站| 91精品国产91久久久久久| 日韩成人中文电影| 国产欧美va欧美va香蕉在| 国产精品偷伦视频免费观看国产| 欧美老女人性视频| 91在线免费网站| 久久这里只有精品视频首页| 亚洲精品色婷婷福利天堂| 热99精品里视频精品| 亚洲男人天堂2024| 亚洲欧洲一区二区三区久久| 久久香蕉国产线看观看av| 国产成人精品国内自产拍免费看| 亚洲aⅴ日韩av电影在线观看| 中文字幕日韩精品有码视频| 精品久久久精品| 一本色道久久综合狠狠躁篇怎么玩| 欧美激情极品视频| 国产精品91久久久久久| 美日韩精品免费观看视频| 久久精品国产成人精品| 欧美专区福利在线| 91九色视频导航| 欧美视频在线观看 亚洲欧| 日韩欧美国产激情| 午夜精品久久久久久99热软件| 色综合91久久精品中文字幕| 亚洲午夜av电影| 欧美日韩成人精品| 91po在线观看91精品国产性色| 懂色av一区二区三区| 亚洲精品小视频| 国产精品日日摸夜夜添夜夜av| 午夜精品久久久久久久99热浪潮| 亚洲自拍偷拍网址| 久久久国产视频91| 国产精品入口夜色视频大尺度| 国产自摸综合网| 欧美性生活大片免费观看网址| 欧美一性一乱一交一视频| 国产精品久久久久久久久影视| 欧美老女人在线视频| 欧美性猛交xxxx黑人| 97免费中文视频在线观看| 中文欧美日本在线资源| 日韩在线中文视频| 欧美福利在线观看| 国产精品v片在线观看不卡| 成人免费网站在线观看| 欧美精品久久一区二区| 久久久av电影| 国产精品一区二区在线| 一区二区中文字幕| 欧美国产乱视频| 国产综合色香蕉精品| 久久久国产精品免费| 国产精品欧美一区二区| 成人黄色激情网| 国产mv久久久| 亚洲精品小视频在线观看| 久久精品国产v日韩v亚洲| 国产精品欧美一区二区三区奶水| 黄色精品在线看| 欧美亚洲第一区| 国产专区欧美专区| 久久人人爽人人爽人人片av高请| 在线观看免费高清视频97| 色av吧综合网| 国产欧美在线视频| 日韩av有码在线| 国产在线一区二区三区| 北条麻妃在线一区二区| 欧美国产精品人人做人人爱| 久久亚洲欧美日韩精品专区| 激情久久av一区av二区av三区| 日本精品性网站在线观看| 国产福利精品在线| 中文字幕av一区中文字幕天堂|