Linux 命令将 xx.xx 更改为 xx,xx(货币)
Linux command to change xx.xx into xx,xx (for currency)
我住在荷兰,货币是用逗号 (,) 而不是点 (.)
I.e.feeds 14.95 被解释为数字而不是 14,95 欧元
有没有LINUX命令(sed?)可以解决这个问题?
所以 14.95 变成了 14,95
我尝试用 komma 替换圆点,但 Feed 中有许多正确的圆点也被替换了
假设合法的句点位于其他字段中,您可以使用 awk 仅更改货币字段并忽略任何“.”。在其他领域。这是一个内联示例,其中货币位于字段 2 中:
echo "field1 19.45 field3" | awk '{gsub("\.",",",);print [=10=]}'
您可以对输入文件执行相同的操作,
awk '{gsub("\.",",",);print [=11=]}' in_file > out_file
如果您的所有条目都在文件中,您可以这样做
cat file | awk -F\. '{print ","}' > newfile
此 sed 命令替换“.”数字之间用逗号 (komma)
sed 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\)/,/'
如果你使用setlocale,你只需要在程序入口点(在main()的开头使用以下内容):
#include <locale.h>
...
int main (int argc, char **argv)
{
setlocale(LC_ALL, "");
...
(当然可以用setlocale(LC_NUMERIC, "");
只影响数字打印)
获取 printf() 并且表兄弟开始在您所在的区域设置中打印小数点(当然,如果您在环境中配置了它)。有关完整文档,请参阅联机帮助页。
我住在荷兰,货币是用逗号 (,) 而不是点 (.) I.e.feeds 14.95 被解释为数字而不是 14,95 欧元
有没有LINUX命令(sed?)可以解决这个问题? 所以 14.95 变成了 14,95
我尝试用 komma 替换圆点,但 Feed 中有许多正确的圆点也被替换了
假设合法的句点位于其他字段中,您可以使用 awk 仅更改货币字段并忽略任何“.”。在其他领域。这是一个内联示例,其中货币位于字段 2 中:
echo "field1 19.45 field3" | awk '{gsub("\.",",",);print [=10=]}'
您可以对输入文件执行相同的操作,
awk '{gsub("\.",",",);print [=11=]}' in_file > out_file
如果您的所有条目都在文件中,您可以这样做
cat file | awk -F\. '{print ","}' > newfile
此 sed 命令替换“.”数字之间用逗号 (komma)
sed 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\)/,/'
如果你使用setlocale,你只需要在程序入口点(在main()的开头使用以下内容):
#include <locale.h>
...
int main (int argc, char **argv)
{
setlocale(LC_ALL, "");
...
(当然可以用setlocale(LC_NUMERIC, "");
只影响数字打印)
获取 printf() 并且表兄弟开始在您所在的区域设置中打印小数点(当然,如果您在环境中配置了它)。有关完整文档,请参阅联机帮助页。