Bash +从行中删除空格

时间:2017-12-20 13:22:13

标签: linux bash shell awk sed

我编写了以下bash代码以创建带磁盘分区的CSV路径,因此每个分区都将获得新的增量dev磁盘

number_of_disks=5
mount_p=({a..z})
path=` for i in \`seq 1 $number_of_disks \`; do mount_p="$(echo $mount_p| tr '[a-z]' '[b-z]a')"; echo /home/sd$mount_p/oop/app/data","; done `

但是当我打印$ path时,我们会在每个分区之间获得空间

echo $path
/home/sdb/oop/app/data, /home/sdc/oop/app/data, 
/home/sdd/oop/app/data, /home/sde/oop/app/data, 
/home/sdf/oop/app/data,

第二个问题是不必要的","在行尾

根据我的代码,如何创建没有空格的路径变量,没有","在CSV行的末尾

2 个答案:

答案 0 :(得分:3)

你正在使用一种非常复杂的方式(hacky as hell)来实现一些相当简单的方法:

path=$(echo /home/sd{a..e}/oop/app/data | tr ' ' ,)

答案 1 :(得分:0)

您可以更改路径变量,例如tihs:

echo $path | sed 's/ //g;s/,$//g'

它将删除最后','和空格。

UPD。 或者:

path=( $(echo /home/sd{b..z}/oop/app/data | tr ' ' ',') ); echo "${path[@]}"