簡體   English   中英

Linux根據列表重命名批處理文件

[英]Linux rename batch files according to a list

我想根據在單獨列表中找到的名稱來重命名一堆文件。 情況如下:

文件:file_0001.txt文件_0102.txt file_ab42.txt

我想根據如下所示的對應名稱列表更改這些文件的名稱:0001 abc.01 0102 abc.02 ab42 def.01

對於每個文件,我想用第二列中的部分替換列表中第一列中的部分名稱:

file_0001.txt -> file_abc.01.txt
file_0102.txt -> file_abc.02.txt
file_ab42.txt -> file_def.01.txt

我研究了幾個mv,重命名和此類命令,但是我只找到了根據文件名中的單個模式重命名批處理文件的方法,而不是將更改與列表匹配。

有沒有人有我可以用來做腳本的例子?

while read a b; do mv file_$a.txt $b;done < listfile

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM