Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
Unix 如何使用awk将逗号替换为加号_Unix_Awk_Replace - Fatal编程技术网

Unix 如何使用awk将逗号替换为加号

Unix 如何使用awk将逗号替换为加号,unix,awk,replace,Unix,Awk,Replace,我有一个逗号分隔的数字: 458,221 我想将其转换为: +458+221 我试过: cat result.txt | awk '{gsub("+",/,/);}' 但是,我收到了“无效命令代码”错误。cat results.txt | tr“,”+“| awk'{printf+%s\n“,$0}'cat results.txt | tr“,”+“| awk'{printf+%s\n“,$0}'以下内容将用,,和(代码开头)中的任何内容替换。在这种情况下,+ awk '{gsub(/,|

我有一个逗号分隔的数字:

458,221
我想将其转换为:

+458+221
我试过:

cat result.txt | awk '{gsub("+",/,/);}'

但是,我收到了“无效命令代码”错误。

cat results.txt | tr“,”+“| awk'{printf+%s\n“,$0}'
cat results.txt | tr“,”+“| awk'{printf+%s\n“,$0}'
以下内容将用
,和
(代码开头)中的任何内容替换
。在这种情况下,
+

awk '{gsub(/,|^/,"+")}1' result.txt

以下内容将用
”中的任何内容替换
^
(行首)。在这种情况下,
+

awk '{gsub(/,|^/,"+")}1' result.txt

要执行简单替换,请使用sed:

$ sed 's/^\|,/+/g' <<<'458,221'
+458+221

$sed's/^\|,/+//g'要执行简单替换,请使用sed:

$ sed 's/^\|,/+/g' <<<'458,221'
+458+221

$sed's/^\|,/+/g'这是使用
awk
的一种非常巧妙的方式!!请尝试
awk'{gsub(/,| ^/,“+”)1'result.txt
awk'{gsub(/,“+”)1'result.txt
。我已经更新了问题,如果您只是将逗号转换为加号,那么为什么在所需输出的开始处会有额外的加号叹息。(458之前)是的,我还需要一个前缀
+
符号才能与imagemagic脚本一起使用。如果您使用的
gsub
语法不正确,请检查命令#1答案已经存在。这是使用
awk
的一种非常巧妙的方法!!请尝试
awk'{gsub(/,| ^/,“+”)1'result.txt
awk'{gsub(/,“+”)1'result.txt
。我已经更新了问题,如果您只是将逗号转换为加号,那么为什么在所需输出的开始处会有额外的加号叹息。(458之前)是的,我还需要前缀
+
符号才能与imagemagic脚本一起使用。如果您使用的
gsub
语法不正确,请检查命令#1答案已存在。虽然此代码可能解决问题,但好的答案应始终包含解释。尽管此代码可能解决问题,一个好的答案应该总是包含一个解释。