我正在终端中使用 bash 尝试重命名文件夹:
1 2 3 4 5
我想根据 a.txt 文件重命名它们:
a 2
c 3
d 5
e 1
b 4
.txt 文件中的顺序完全随机。我希望找到一种方法可以重命名文件夹,使它们变成:
1 > e
2 > a
3 > c
4 > b
5 > d
有什么办法可以做到这一点吗?请注意,我使用的是 OSX。
答案1
在上面显示的简单情况下,每行都有两个“单词”,目标目录和新名称,并且两者都不能包含任何空格,您可以简单地执行以下操作:
while read -r from to; do mv "$from" "$to"; done < file
这将读取file
分配第一个字符串(直到第一个空格)的每一行$from
以及该行的其余部分$to
,然后mv
在每个行上运行。