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答案已存在。虽然此代码可能解决问题,但好的答案应始终包含解释。尽管此代码可能解决问题,一个好的答案应该总是包含一个解释。