如何将文件名从一个txt文件重命名为bash中另一个txt文件的文件名?

时间:2016-12-27 05:12:12

标签: linux bash shell unix command-line

我在.txt文件中有一些文件名,在另一个.txt文件中有一些其他文件名。我想逐行从文本文件中的文件名重命名存储在该文件夹中的文件。

FROM:

$cat oldname.txt
file1.mp4
file2.mp4

TO:

$cat newname.txt
video1.mp4
video2.mp4

我想要一些可以逐行执行mv命令的bash脚本。 喜欢

$mv file1.mp4 video1.mp4

2 个答案:

答案 0 :(得分:1)

在文件上使用适当的循环以bash重命名。在不同的文件描述符中单独打开文件。

#!/bin/bash

while read oldname <&3 && read newname <&4
do
     mv "$oldname" "$newname"
done 3<oldname.txt 4<newname.txt

答案 1 :(得分:0)

尝试:

while read oldname; do 
    read -u 3 newname
    echo mv $oldname $newname
done < oldname.txt 3< newname.txt

这只会回应命令。如果您喜欢结果,请省略echo