我有以下字符串:
"BBBB,AAAA"
与comma
分开。我需要为字符串的每个值附加.done
。
当我在下面尝试时。这是行不通的。我尝试将,
替换为.done
,但它不起作用。另外,我需要.done
和AAAA
BBBB
-bash-3.2$ echo "AAAA,BBBB" |tr "," ".done"
AAAA.BBBB
预期产出:
AAAA.done BBBB.done
感谢您的帮助。
编辑:
在@Ravindra Suggestion之后,我对它进行了一点修改并且工作正常,但现在的问题是修剪空间。
-bash-3.2$ echo "AAAA,BBBB ,CCC, DDD" | sed 's/,/.done /g;s/$/.done/'
AAAA.done BBBB .done CCC.done DDD.done
^
getting space here
操作系统名称:SunOS
答案 0 :(得分:2)
关注简单sed
可能对您有所帮助。
val="AAAA,BBBB"
echo "$val" | sed 's/,/.done /;s/$/.done/'
输出如下。
AAAA.done BBBB.done
编辑:
awk -v val="$val" 'BEGIN{gsub(/,| ,/,".done ",val);sub(/$/,".done",val);print val}'
<强> EDIT2: 强>
awk -v val="$val" 'BEGIN{gsub(/,| ,/,".done ",val);sub(/$/,".done",val);print val}'
AAA.done BBB.done CCC.done DDD.done