文件夹中有一个文件夹,其中附有日期和时间。我想将其重命名为其他内容,以便我可以轻松访问它。我知道这个文件名的起始字。他们有没有办法我可以重命名这个(使用通配符或其他)? 。由于我正在尝试编写脚本来自动化某些内容,因此无法使用Tab。在linux中重命名附加日期的文件
此外,我想访问lexicographical的最后一个元素,并重命名它,如果有多个文件。
文件夹中有一个文件夹,其中附有日期和时间。我想将其重命名为其他内容,以便我可以轻松访问它。我知道这个文件名的起始字。他们有没有办法我可以重命名这个(使用通配符或其他)? 。由于我正在尝试编写脚本来自动化某些内容,因此无法使用Tab。在linux中重命名附加日期的文件
此外,我想访问lexicographical的最后一个元素,并重命名它,如果有多个文件。
你想找到最近修改的文件在目录中?哪一个匹配模式?
find . -maxdepth 1 -mindepth 1 -type f -name "prefix*" \
-printf "%TY%Tm%TdTH%TM %p\n" | sort -nr | read -r _ file
printf "%s" "$file"
假设没有包含换行符的文件名。而且你实际上只想获取目录中最后一次更改的文件。
替代你可以排序做这样的事情:
find . -maxdepth 1 -mindepth 1 -type f -name "prefix*" | sort -nr -t- -k2
这将这样的文件排序:
prefix-2016-05-05
prefix-2016-06-05
prefix-2016-04-08
要
prefix-2016-06-05
prefix-2016-05-05
prefix-2016-04-08
假设该文件的名称是bob_2016-06-10_06:00:00.txt
你可以这样做:
mv *_20[0-9][0-9]-[01][0-9]-[0-3][0-9]_[0-2][0-9]:[0-5][0-9]:[0-5][0-9].txt commmonname.txt
嗨迈克尔, 已添加一些问题的详细信息。如果文件夹中有多个文件,我想访问词典的最后一个元素。 –
可以使用用正则表达式重命名。语法是:
Usage: rename [-v] [-n] [-f] perlexpr [filenames]
因此,考虑以下文件:
[email protected]:/tmp/kk$ ls -l
total 0
-rw-rw-r-- 1 coda coda 0 Jun 10 13:28 aaaa-2016-01-01.txt
-rw-rw-r-- 1 coda coda 0 Jun 10 13:28 aaaa-2016-01-02.txt
-rw-rw-r-- 1 coda coda 0 Jun 10 13:28 aaaa-2016-01-03.txt
-rw-rw-r-- 1 coda coda 0 Jun 10 13:28 aaaa-2016-01-04.txt
可以重命名他们这样说:
[email protected]:/tmp/kk$ rename -v 's/aaaa/xxxx/' *.txt
aaaa-2016-01-01.txt renamed as xxxx-2016-01-01.txt
aaaa-2016-01-02.txt renamed as xxxx-2016-01-02.txt
aaaa-2016-01-03.txt renamed as xxxx-2016-01-03.txt
aaaa-2016-01-04.txt renamed as xxxx-2016-01-04.txt
如果你想跟踪辞书最后一个元素,我会在脚本中使用类似这样的内容:
ln -sf `ls | tail -n1` latest
由于LS排序按名称按默认情况下,你将永远有一个链接到您的辞书的最后一个元素:
[email protected]:/tmp/kk$ ls -lrt
total 0
-rw-rw-r-- 1 coda coda 0 Jun 10 13:28 xxxx-2016-01-01.txt
-rw-rw-r-- 1 coda coda 0 Jun 10 13:28 xxxx-2016-01-02.txt
-rw-rw-r-- 1 coda coda 0 Jun 10 13:28 xxxx-2016-01-03.txt
-rw-rw-r-- 1 coda coda 0 Jun 10 13:28 xxxx-2016-01-04.txt
lrwxrwxrwx 1 coda coda 19 Jun 10 13:59 latest -> xxxx-2016-01-04.txt
请注意,这不要与'util-linux'中的'rename'混淆。这个命令有时也被称为'perl-rename' – andlrc
我增加了一些问题的细节。如果有多个文件,是否有一种方法可以访问词典的最后一个文件 –
你可以考虑软链接到它,而不是重命名它。 –
您可以像在OP中所说的那样发布开始名称,并且您希望将其重命名为(以及)还有日期格式? – Inian
假设它是Abc_10Jun2016_04_02_14,我想将它重命名为Abc_latest。已添加一些问题的更多细节。 –