小编kub*_*lay的帖子

如何在 bash 中一次替换多个子字符串?

我有一个目录包含要在 bash 中回显的图像文件。在回显时,我想在单行命令中替换文件名和扩展名。

示例文件:

images/file_name_1.jpg
images/file_name_2.jpg
Run Code Online (Sandbox Code Playgroud)

通常,我可以像这样进行单一替换:

images/file_name_1.jpg
images/file_name_2.jpg
Run Code Online (Sandbox Code Playgroud)

输出变成这样:

for i in images/*; do echo ${i/file/image}; done
Run Code Online (Sandbox Code Playgroud)

如何将其保留在 for 循环中并将“jpg”字符串也替换为“png”?这只是一个例子,我可以将点替换为逗号等。

当我尝试这个时:

images/image_name_1.jpg
images/image_name_2.jpg
Run Code Online (Sandbox Code Playgroud)

这不起作用。我找不到任何其他解决方案或想法。这可能吗?如果可以,怎么做?

bash shell-script replace

5
推荐指数
1
解决办法
6858
查看次数

标签 统计

bash ×1

replace ×1

shell-script ×1