有没有办法使用 shell 命令将 csv 文件中的一列转换为上一列?

Is there a way to convert one column in csv file to upper using shell commands?

请帮助我提供 BASH 代码,该代码针对 csv 文件中的特定列并将其转换为上层。 例如,如果 file_a.csv 具有以下列:

man,woman,boy,girl
woman,man,boy,girl
boy,girl,man,woman
girl,boy,woman,man

我想将第 2 列转换为上部以便:

man,WOMAN,boy,girl
woman,MAN,boy,girl
boy,GIRL,man,woman
girl,BOY,woman,man

感谢您的帮助

您可以使用 sed 完成此操作:

sed 's/[^,]*/\U&/2' file_a.csv
  • 这会将第二个字符串替换为零个或多个 non-comma 个字符,并将其替换为大写字母