我的 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