Awk 将bash中的特殊字符(α;、β;)写入输出文件-编码不正确

Awk 将bash中的特殊字符(α;、β;)写入输出文件-编码不正确,awk,encoding,Awk,Encoding,我试图在OSX终端中使用awk命令修改现有文件(input.csv),然后将输出写入文件(output.csv) 我的命令适用于我需要的文本更改,并在终端中正确显示输出(包括正确的特殊字符): awk'{for(i=1;i是否可以查看结果?听起来您的默认区域设置采用了与UTF-8不同的编码。您可以尝试类似于(export LC_ALL=C.UTF-8;awk…| tee file)的方法。您需要使用的特定区域名称可能会有所不同。不要忽略括号,这会导致命令在子shell中运行,除非您希望区域设置更

我试图在OSX终端中使用awk命令修改现有文件(input.csv),然后将输出写入文件(output.csv)

我的命令适用于我需要的文本更改,并在终端中正确显示输出(包括正确的特殊字符):


awk'{for(i=1;i是否可以查看结果?听起来您的默认区域设置采用了与UTF-8不同的编码。您可以尝试类似于
(export LC_ALL=C.UTF-8;awk…| tee file)的方法
。您需要使用的特定区域名称可能会有所不同。不要忽略括号,这会导致命令在子shell中运行,除非您希望区域设置更改在运行该命令的shell中保持不变。希腊文小写字母Alpha
α
是UTF-8字节序列
0xCE
0xB1
。它显示为de>Œ±
(拉丁文大写连字Oe和加减号),如果用
的“mac_roman”编码进行解释。经典案例。使用上述方法(导出LC_ALL=C.UTF-8;awk…| tee文件)解决方案非常有效。感谢您的帮助也许可以查看结果?听起来您的默认区域设置采用了与UTF-8不同的编码。您可以尝试类似的方法(导出LC_ALL=C.UTF-8;awk…| tee文件)
。您需要使用的特定区域名称可能会有所不同。不要忽略括号,这会导致命令在子shell中运行,除非您希望区域设置更改在运行该命令的shell中保持不变。希腊文小写字母Alpha
α
是UTF-8字节序列
0xCE
0xB1
。它显示为de>Œ±(拉丁文大写连字Oe和加减号)如果用
的“mac_roman”
编码进行解释。经典案例。使用上述(导出LC_ALL=C.UTF-8;awk…| tee文件)解决方案非常有效。感谢您的帮助
awk '{for(i=1;i<=NF;i++){ $i=toupper(substr($i,1,1)) substr($i,2) }}1' input.csv
awk '{for(i=1;i<=NF;i++){ $i=toupper(substr($i,1,1)) substr($i,2) }}1' input.csv | tee output.csv