bash - 无法从文件中删除字符串之间的空格
问题描述
我有一个文件,其内容如下所示。
$猫测试
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部署
有人可以帮我吗?从昨天开始我一直在尝试,但一直无法解决。
解决方案
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
推荐阅读
- node.js - 为什么实时数据库更新有时会因令牌更新的爆发而延迟?
- twitter-bootstrap - 如何在 BOOTSTRAP 5 上推拉列?
- python - __getitem__ 中使用的 Python 参数?
- sql - BigQuery SQL 用户代理检测
- android - 自动竞争在 Android Studio 中不起作用
- python - 日期不等于今天
- python - 将类对象转换为 Json(带有日期时间字段)-TypeError:日期时间类型的对象不是 JSON 可序列化的
- javascript - 将 Javascript 中的 React.js 元素数组存储到某个文件或任何存储中,以便以后使用
- flutter - 从 Future 函数返回字符串
- selenium - http登录请求 - selenium webdriver