Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex bash:转换字符串以替换';字符+;空白';用逗号_Regex_Bash - Fatal编程技术网

Regex bash:转换字符串以替换';字符+;空白';用逗号

Regex bash:转换字符串以替换';字符+;空白';用逗号,regex,bash,Regex,Bash,我试图翻译(tr)一个字符串,用逗号替换两个字符的组合 字符串:- 输入为“测试1-测试2-测试3” 所需输出为“测试1、测试2、测试3” 为了实现这一点,我需要用逗号[,]替换“-”[space+'-'] 我尝试了以下几种选择 $ echo "test-1 - test-2 - test-3" | tr '-[:space:]' ',' $ echo "test-1 - test-2 - test-3" | tr '- ' ',' 但是抛出一个错误?它适用于任何其他两个字符的组合,但不适用于

我试图翻译(tr)一个字符串,用逗号替换两个字符的组合

字符串:- 输入为“测试1-测试2-测试3” 所需输出为“测试1、测试2、测试3”

为了实现这一点,我需要用逗号[,]替换“-”[space+'-']

我尝试了以下几种选择

$ echo "test-1 - test-2 - test-3" | tr '-[:space:]' ','
$ echo "test-1 - test-2 - test-3" | tr '- ' ','

但是抛出一个错误?它适用于任何其他两个字符的组合,但不适用于空格?

您可以使用
sed
而不是
tr
来实现这一点:

$ echo "test-1 - test-2 - test-3" | sed "s/ - / ,/g"

您可以使用
sed
而不是
tr
来实现这一点:

$ echo "test-1 - test-2 - test-3" | sed "s/ - / ,/g"