使用 miller 将小写字母转换为大写字母并将输出输出到新列

pwr*_*ler 0 text-processing csv miller

我想将列复制NAME到列NAME-LOWERCASENAME-LOWERCASE应该只包含小写字母。除此以外,所有列中的大写字母均应保持不变NAME-LOWERCASE

输入

NAME,test
PTC,N
Agri,Y
E-example,N
ForYou,N
Willy Nes,Y
Run Code Online (Sandbox Code Playgroud)

输出

NAME,NAME-LOWERCASE,test
PTC,ptc,N
Agri,agri,Y
E-example,E-example,N
ForYou,foryou,N
Willy Nes,willy nes,Y
Run Code Online (Sandbox Code Playgroud)

我知道如何从另一列创建新列并重新排序

mlr -I --csv \
    put '$FIRSTNAME = sub($FULLNAME," .*","")' then \
    reorder -f FULLNAME,LASTNAME,EMAIL,DOMAIN,COMPANY input.csv
Run Code Online (Sandbox Code Playgroud)

我知道如何将大写转换为小写

mlr --csv -N case -l 
Run Code Online (Sandbox Code Playgroud)

如何组合这两个命令?或者还有另一个米勒命令来实现我的目标?

abo*_*uso 5

如果你跑

mlr --csv put '${NAME-LOWERCASE}=tolower($NAME)' then \
reorder -f NAME,NAME-LOWERCASE,test input.csv
Run Code Online (Sandbox Code Playgroud)

你会得到NAME-LOWERCASE小写的。

NAME,NAME-LOWERCASE,test
PTC,ptc,N
Agri,agri,Y
E-example,e-example,N
ForYou,foryou,N
Willy Nes,willy nes,Y
Run Code Online (Sandbox Code Playgroud)

这是tolower功能