Linux Shell脚本以打印具有分隔符的变量

Linux Shell脚本以打印具有分隔符的变量,linux,bash,shell,sed,Linux,Bash,Shell,Sed,我有一个shell脚本,它获取一堆值。我根据分隔符(,)将其分离。现在我想在for循环中逐个打印它。 例如 输出为空,预期输出为空 /a/b/c d/e/f/ x/y/z 你不需要一个循环 sed 's/,/\n/g' <<< "$var" sed 'y/,/\n/' <<< "$var" tr ',' '\n' <<< "$var" echo "${var//,/$'\n'}" sed's/,/\n/g'您不需要循环 sed 's/,/

我有一个shell脚本,它获取一堆值。我根据分隔符(,)将其分离。现在我想在for循环中逐个打印它。 例如

输出为空,预期输出为空

/a/b/c
d/e/f/
x/y/z
你不需要一个循环

sed 's/,/\n/g' <<< "$var"
sed 'y/,/\n/' <<< "$var"
tr ',' '\n' <<< "$var"
echo "${var//,/$'\n'}"
sed's/,/\n/g'您不需要循环

sed 's/,/\n/g' <<< "$var"
sed 'y/,/\n/' <<< "$var"
tr ',' '\n' <<< "$var"
echo "${var//,/$'\n'}"

sed's/,/\n/g'只是为了添加另一个选项-

var="/a/b/c,d/e/f/,x/y/z"
while IFS=, read a b c
do printf "a=$a b=$b c=$c\n"
done <<< "$var"
a=/a/b/c b=d/e/f/ c=x/y/z
var=“/a/b/c,d/e/f/,x/y/z”
当IFS=时,读取a b c
是否打印“a=$a b=$b c=$c\n”

完成只是为了添加另一个选项-

var="/a/b/c,d/e/f/,x/y/z"
while IFS=, read a b c
do printf "a=$a b=$b c=$c\n"
done <<< "$var"
a=/a/b/c b=d/e/f/ c=x/y/z
var=“/a/b/c,d/e/f/,x/y/z”
当IFS=时,读取a b c
是否打印“a=$a b=$b c=$c\n”

完成您可以将其读入数组。这是相当可读的:

var=/a/b/c,d/e/f/,x/y/z
IFS=, read -a paths <<<"$var"
for p in "${paths[@]}"; do echo "$p"; done

您可以将其读入数组。这是相当可读的:

var=/a/b/c,d/e/f/,x/y/z
IFS=, read -a paths <<<"$var"
for p in "${paths[@]}"; do echo "$p"; done

对我来说很好…你可以做:
echo“${var/,/$”\n'}”
对我来说很好…你可以做:
echo“${var/,/$”\n'}”