簡體   English   中英

如何根據其他文件重命名文件?

[英]How to rename files according to other files?

我在一個擴展名為.img的文件夾中有幾個文件,而我只有一個擴展名為data.txt文件,我需要復制data.txt並將其重命名為.img文件的名稱。

例如,我文件夾中的第一個文件:

`Meaurmen_2154_data.img`  >>> copy data.txt >>> rename it Meaurmen_2154_data.txt  
 Now I have :
Meaurmen_2154_data.img  
Meaurmen_2154_data.txt  ## the content is the same as data.txt

並對所有其他文件執行相同的操作。 文本文件的內容對於所有文件都是相同的,只是我們根據文件夾中的.img文件更改了名稱。

運行此腳本

#!/bin/bash

imageFiles=( *.img );
for i in ${imageFiles[*]}
do
    withoutExtension=${i%.img};
    cp data.txt "$withoutExtension.txt";
done

在相關目錄中,它將為您完成。

嘗試

for i in *.img; do cp data.txt $i.txt; done
rename 's/.img.txt/.txt/' *.img.txt

在某些發行版中,重命名是不同的,要求

rename .img.txt .txt *.img.txt

與往常一樣,您可能會發現自己需要安裝其他軟件包。

暫無
暫無

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

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