bash - 在bash中将空格分隔的字符串转换为逗号分隔
问题描述
我是 shell 脚本的新手
我正在缩进转换一个字符串,如:
abc def ghi
至
"abc","def","ghi"
这是我尝试过的:
testvar= "abc def ghi"
a='"';
res="";
coma=","
for i in $testvar
do
vals=(${i//__/ })
if [ -z "$res" ]; then
$res= $res$a$vals$a
else
$res=$res$coma$a$vals$a
fi
done
echo $res
它给出了这个错误:
$bash -f main.sh
main.sh: line 4: abc def ghi: command not found
我在做什么错?有没有更好的方法来做到这一点?
解决方案
也许您可以使用sed
如下命令:(注意def
and中有多个空格ghi
)
$ echo 'abc def ghi' | sed -E 's/\s+/\,/g'
abc,def,ghi
推荐阅读
- c++ - 浮点数据类型如何存储在内存中?
- codeigniter - 如何在 codeigniter 中使用显示 sum()
- c++ - MSVC C++ 名称在运行时从字符串重整
- java - 无法嵌入 Power BI 报表
- android - 使用 Mockito 在 android 中运行可运行的单元测试
- protractor - 如何使用量角器滚动具有长列表的页面?
- angular - Angular 7 中的 SCSS 文件
- java - 为什么我不能使用 nextLine() 代替 next()?
- go - protoc-gen-go struct xxx 隐蔽到 map[string]interface{}
- android - APK 在某些设备上运行良好,但在其他设备上运行良好