내 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
나는 이것이 당신이 찾고 있는 것이라고 생각합니다:
column -s '|' -t file
어떤 필드에도 파이프 문자가 포함되어 있지 않다고 가정합니다. 일반 CSV 데이터를 구문 분석하려면 다음을 사용하세요.csvkit.
답변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