相关疑难解决方法(0)

如何通过替换文件名中的字符串来重命名多个文件?这个字符串包含一个“#”

https://serverfault.com/questions/70939/how-to-replace-a-text-string-in-multiple-files-in-linux

https://serverfault.com/questions/228733/how-to-rename-multiple-files-by-replacing-word-in-file-name

https://serverfault.com/questions/212153/replace-string-in-files-with-certain-file-extension

https://serverfault.com/questions/33158/searching-a-number-of-files-for-a-string-in-linux

上面提到的这些文章都回答了我的问题。然而,它们都不适合我。我怀疑这是因为我试图替换的字符串中有一个 # 。有没有特殊的方法来解决这个问题?

我有一个图像文件,在站点迁移期间将 é 替换为 #U00a9。这些看起来像这样:

Lucky-#U00a9NBC-80x60.jpg
Lucky-#U00a9NBC-125x125.jpg
Lucky-#U00a9NBC-150x150.jpg
Lucky-#U00a9NBC-250x250.jpg
Lucky-#U00a9NBC-282x232.jpg
Lucky-#U00a9NBC-300x150.jpg
Lucky-#U00a9NBC-300x200.jpg
Lucky-#U00a9NBC-300x250.jpg
Lucky-#U00a9NBC-360x240.jpg
Lucky-#U00a9NBC-400x250.jpg
Lucky-#U00a9NBC-430x270.jpg
Lucky-#U00a9NBC-480x240.jpg
Lucky-#U00a9NBC-600x240.jpg
Lucky-#U00a9NBC-600x250.jpg
Lucky-#U00a9NBC.jpg
Run Code Online (Sandbox Code Playgroud)

我想把它改成这样:

Lucky-safeNBC-80x60.jpg
Lucky-safeNBC-125x125.jpg
Lucky-safeNBC-150x150.jpg
Lucky-safeNBC-250x250.jpg
Lucky-safeNBC-282x232.jpg
Lucky-safeNBC-300x150.jpg
Lucky-safeNBC-300x200.jpg
Lucky-safeNBC-300x250.jpg
Lucky-safeNBC-360x240.jpg
Lucky-safeNBC-400x250.jpg
Lucky-safeNBC-430x270.jpg
Lucky-safeNBC-480x240.jpg
Lucky-safeNBC-600x240.jpg
Lucky-safeNBC-600x250.jpg
Lucky-safeNBC.jpg
Run Code Online (Sandbox Code Playgroud)

更新:

这些示例都以“LU00a9ucky”开头,但这里有许多名称不同的图像。我只是将字符串的“#U00a9”部分定位为“safe”。

sed rename mv

91
推荐指数
5
解决办法
26万
查看次数

如何同时重命名目录中的多个文件

我有目录说它/var/tmp/abc有 4 个文件:

12345-ram-3e3r5-io9490-89adu9.csv
45434-dam-qwe35-to9490-43adu9.csv
11234-cam-yy3r5-ro9490-85adu9.csv
14423-sam-hh3r5-uo9490-869du9.csv
Run Code Online (Sandbox Code Playgroud)

我想以尽可能短的(可能是单行)方式重命名所有 CSV 文件(找到所有文件并重命名它们):

XXXXX-ram-3e3r5-io9490-89adu9.csv
XXXXX-dam-qwe35-to9490-43adu9.csv
XXXXX-cam-yy3r5-ro9490-85adu9.csv
XXXXX-sam-hh3r5-uo9490-869du9.csv
Run Code Online (Sandbox Code Playgroud)

shell rename files

12
推荐指数
2
解决办法
2179
查看次数

为什么 Debian/Ubuntu 上的重命名实用程序与其他发行版(如 CentOS)上的重命名实用程序不同?

在 CentOS 上,rename 命令使用两个简单的字符串,from以及to.

rename from to file...
Run Code Online (Sandbox Code Playgroud)

而在 Debian/Ubuntu 上,它使用 perl 风格的正则表达式。

rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
Run Code Online (Sandbox Code Playgroud)

为什么此实用程序因分布而异?是否有关于哪些发行版发布或默认使用该实用程序的哪些版本的参考?

debian centos utilities rename distributions

7
推荐指数
1
解决办法
3024
查看次数

递归重命名文件和目录

我正在使用此命令重命名文件:

for fname in *;
do
    mv "$fname" $(echo "$fname" | sha1sum | cut -f1 -d' ')
done
Run Code Online (Sandbox Code Playgroud)

但它只在当前目录中重命名。假设我有很多目录,每个目录包含一些其他目录,最后一个目录树包含文件。我想用随机字符重命名它们。

我认为find . -type f应该可以工作,并且已经尝试过,但仍然没有得到任何工作命令。

find rename

6
推荐指数
2
解决办法
7826
查看次数

如何替换一组文件名中的字符?

我有一组这样的图像:

01-12_13:20:12_1366x768.png  01-12_13:20:46_1366x768.png  01-12_13:21:01_1366x768.png  01-12_13:21:06_1366x768.png
01-12_13:20:40_1366x768.png  01-12_13:20:47_1366x768.png  01-12_13:21:02_1366x768.png  01-12_13:21:07_1366x768.png
01-12_13:20:42_1366x768.png  01-12_13:20:49_1366x768.png  01-12_13:21:03_1366x768.png  01-12_13:21:08_1366x768.png
01-12_13:20:44_1366x768.png  01-12_13:20:59_1366x768.png  01-12_13:21:04_1366x768.png  01-12_13:21:10_1366x768.png
01-12_13:20:45_1366x768.png  01-12_13:21:00_1366x768.png  01-12_13:21:05_1366x768.png
Run Code Online (Sandbox Code Playgroud)

我需要将每个替换:_. 我怎样才能使用 bash 命令做到这一点?

(note : i love when everything is compact and one-lined)

bash fedora rename files

2
推荐指数
2
解决办法
1万
查看次数

标签 统计

rename ×5

files ×2

bash ×1

centos ×1

debian ×1

distributions ×1

fedora ×1

find ×1

mv ×1

sed ×1

shell ×1

utilities ×1