我有一个带有以下语法的管道分隔文件:
|ID Number|First Name|Middle Name|Last Name|#, Street, City|etc..
有些记录很乱,我想将字符串转换为标题大小写。基于关于将字符串转换为标题大小写的其他问题,我发现了这个命令:
awk 'BEGIN { FS=OFS="|" } {for (i=1; i<=NF; ++i) { $i=toupper(substr($i,1,1)) tolower(substr($i,2)); } print }'
运行它会产生|Id number|First name|Middle name|Last name|#, street, city|
,它将第一个字母大写,但由于我有FS="|"
,每个字段中的字符串都被视为一个单词。
我希望每个字段中的所有内容都以标题大小写,而不仅仅是每个字段的第一个字母。
如果可能的话,我想为此提供一个仅 awk 的解决方案。