【发布时间】:2016-04-25 22:51:39
【问题描述】:
我有一个存放书籍的文件夹,并且我有一个包含每个文件真实名称的文件。我以一种我可以轻松查看它们是否已订购的方式重命名它们,例如“00.pdf”、“01.pdf”等等。
我想知道是否有一种方法可以使用 shell 将文件的每一行(比如“名称”)与每个文件匹配。实际上,将文件的行i与位置i中的书按排序顺序匹配。
<name-of-the-book-in-the-1-line> -> <book-in-the-1-position>
<name-of-the-book-in-the-2-line> -> <book-in-the-2-position>
.
.
.
<name-of-the-book-in-the-i-line> -> <book-in-the-i-position>
.
.
.
我在 Windows 中使用 Total Commander 执行此操作,但我想在 Ubuntu 中执行此操作,因此无需重新启动。
我知道mv 和rename,但是我在正则表达式方面没有我想要的那么好......
【问题讨论】:
-
怎么知道哪个文件对应哪个全名?这个数字是唯一的吗?
-
我按升序(00、01、...、N)打开文件,想了个名字,写在文件“names”中
-
name-book-01.pdf如何变成01.pdf,而name-book-99.pdf 变成 00.pdf? name-book-100.pdf 会发生什么?
-
我还不清楚。必须有一种方法可以知道哪个全名对应哪个短名,而“想一个名字”并没有告诉我这一点。加上@KenWhite 指出的不一致。
-
你应该edit这个问题添加。