首页 > 解决方案 > 无法从文件中删除字符串之间的空格

问题描述

我有一个文件,其内容如下所示。

$猫测试

static2 deploy

TDPlanValidator-Prod

我正在尝试将这些目录中的内容上传到 s3 存储桶。问题是 s3 不接受空格,因此出现错误。为此,我试图删除“static2 deploy”之间的空间。该文件将包含大约 400 个条目,其中一些将包含带有空格的目录,例如“static2 deploy”。我编写的脚本无法做到这一点。脚本和输出如下。

for i in `cat test`;do var="$( echo "$i" | tr -d ' ' )"; echo $var;done

静态2

部署

TDPlanValidator-Prod

我也尝试过 sed 但这也不起作用。我想要如下输出,以便可以将其推送到 s3 存储桶中

静态2部署

有人可以帮我吗?从昨天开始我一直在尝试,但一直无法解决。

标签: bashjenkinsamazon-s3

解决方案


for i in `cat test`循环遍历文件中的每个字符串,而不是每一行。

这有效:

cat test | while read line; do var="$( echo "$line" | tr -d ' ' )"; echo $var; done

如果您只想打印该行或更短:

cat test | while read line; do echo "$line" | tr -d ' '; done

输出:

static2deploy

TDPlanValidator-Prod

推荐阅读