如何在 Unix bash 中用字符替换逗号
How to replace comma with character in Unix bash
我有以下字符串:
"BBBB,AAAA"
与 comma
分隔。我需要在字符串的每个值后附加 .done
。
当我在下面尝试时。这是行不通的。我尝试用 .done
替换 ,
但它不起作用。我还需要 AAAA
和 BBBB
末尾的 .done
-bash-3.2$ echo "AAAA,BBBB" |tr "," ".done"
AAAA.BBBB
预期输出:
AAAA.done BBBB.done
感谢您的帮助。
编辑:
根据@Ravindra 的建议,我稍微修改了一下,它工作正常,但现在的问题是 trim 空格。
-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
OS姓名:孙OS
以下简单的 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}'
编辑2:
awk -v val="$val" 'BEGIN{gsub(/,| ,/,".done ",val);sub(/$/,".done",val);print val}'
AAA.done BBB.done CCC.done DDD.done
我有以下字符串:
"BBBB,AAAA"
与 comma
分隔。我需要在字符串的每个值后附加 .done
。
当我在下面尝试时。这是行不通的。我尝试用 .done
替换 ,
但它不起作用。我还需要 AAAA
和 BBBB
.done
-bash-3.2$ echo "AAAA,BBBB" |tr "," ".done"
AAAA.BBBB
预期输出:
AAAA.done BBBB.done
感谢您的帮助。
编辑:
根据@Ravindra 的建议,我稍微修改了一下,它工作正常,但现在的问题是 trim 空格。
-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
OS姓名:孙OS
以下简单的 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}'
编辑2:
awk -v val="$val" 'BEGIN{gsub(/,| ,/,".done ",val);sub(/$/,".done",val);print val}'
AAA.done BBB.done CCC.done DDD.done