我在Amazon S3上有一个存储桶,其中有数千个文件的名称中包含双空格。
如何用一个空格替换所有的双空格?
像:folder1/folder2/filename.pdf
到folder1/folder2/filename.pdf
根据john rotenstein的想法
我构建了一行bash命令
aws s3 ls --recursive s3://bucket-name | cut -c32- | grep "\/.* .*" | (IFS='' ; while read -r line ; do aws s3 mv s3://bucket-name/"$line" s3://bucket-name/$(echo "$line" | xargs) --recursive; done)
选项1:使用电子表格
我有时使用的一种“作弊方法”是创建电子表格,然后生成命令:
aws s3api list-objects --bucket bucket-name --query 'Contents[].[Key]' --output text | grep '\ \ ' >file_list.csv
="aws s3 mv 's3://bucket-name/"&A1&"' 's3://bucket-name/"&SUBSTITUTE(A1," "," ")&"'"
选项2:编写脚本
或者,您可以用您最喜欢的语言(例如Python)编写一个脚本,它将:
问题内容: 我需要使用文件夹中文件的所有名称创建一个列表。 例如,如果我有: 我想将它们存储为 with 作为值。 用Java做到最好的方法是什么? PS:我在Mac OS X上 问题答案: 你可以这样做: 你只想获取JPEG文件还是所有文件?
问题内容: 谁能推荐一种安全的解决方案,从给定的根目录开始,用文件名和目录名中的下划线递归替换空格?例如: 变成: 问题答案: 使用(aka )这是一个Perl脚本,可能已经在您的系统上。分两个步骤进行: 基于 Jürgen的 回答,并且能够使用(Perl脚本)的“ Revision 1.5 1998/12/18 16:16:31 rmb1”版本在一个绑定中处理多层文件和目录:
我正在尝试用SCP复制本地网络中的文件。它在没有空格的文件名中工作得很好,但在使用时会崩溃。我试着把“”替换成“\”作为这个例子,但它不起作用。下面是我的代码: 如何修复此问题?谢谢
问题内容: 我正在尝试编写脚本,将大照片裁剪并调整为高清壁纸。 但是该脚本似乎在文件名中带有空格的问题(例如Tumble Weed.jpg)。我怎样才能解决这个问题? 问题答案: 首先,您不需要。通过在backtics中使用,您可以使bash隐式地将字符串解析为一个列表,该列表按空格分隔。而是让bash生成列表并将其分离,而无需进行此类怪癖: 另外,您需要将所有用法都括在引号中,以使bash整体上
本文向大家介绍Python替换文件中的文本,包括了Python替换文件中的文本的使用技巧和注意事项,需要的朋友参考一下 例子
我试图在一个特定文件夹中保存多个图像第一个图像保存正确,但下一个图像只是替换第一个图像。如何保存多个图像?如何动态命名并使用相同的名称保存图像,但使用不同的扩展名,如image、image1、image2。。。下面是我的代码