我的 PSV 文件看起来像
Column1|Column2|Column3
Web_Value_in_file|123|OLA
Tab_Value_out_file|453|OLA
源列和目标列不同。我想通过 _ 分隔符将值从第 1 列剪切到目标中的多个列。我希望输出文件像 excel(.xlsx) 中一样
Column1 Column2 Column3
Web In 123
Tab Out 453
答案1
答案2
使用适当的最新版本磨坊主
$ ~/src/miller/c/mlr --csvlite --ifs '|' --ofs tab put '
x = splitnv($Column1,"_"); $Column3 = $Column2; $Column2 = capitalize(x[3]); $Column1 = x[1]
' then cat file.psv
Column1 Column2 Column3
Web In 123
Tab Out 453
对于旧版本的 Miller,您可能无法使用该capitalize
功能 - 您可以使用小写in
/或通过替换为 来out
转换为全部大写IN
/ 。OUT
capitalize
toupper