使用文本文件作为源重命名文件
在一个文件夹中,我有600个文件,编号从001到600.它看起来像foo_001.bar。在一个文本文件中,我有这个文件夹的标题&。现在我想用文本文件中相应的001标题foobar重命名foo_001.bar。使用文本文件作为源重命名文件
但我不知道如何在Linux Mint上正确执行此操作。有人可以帮我或给我一个小费吗?
titles.txt的内容看起来像这样。数字和标题之间有一个制表符(可以轻松修改)。
001 title of 1 002 this is 2
003 and here goes 3
004 number four
005 hi this is five
etc
该文件夹的内容如下所示。没有例外。
file_001.ext file_002.ext
file_003.ext
file_004.ext
file_005.ext
etc
回答:
通过与read
您的文件只是循环,得到了分离式柱与
awk
相应cut
(谢谢你,@Jack)和mv
您的文件。在这个非常简单的实现中,我假定包含新名称的文本文件位于./filenames
,并且您的脚本是从包含文件的目录中调用的。
#!/bin/bash while IFS='' read -r line || [[ -n "$line" ]]; do
NR=$(echo "$line" | cut -f 1)
NAME=$(echo "$line" | cut -f 2)
if [ -f "foo_${NR}.ext" ] ; then
mv "foo_${NR}.ext" "$NAME"
fi
done < filenames
以上是 使用文本文件作为源重命名文件 的全部内容, 来源链接: utcz.com/qa/266964.html