PowerShell / 탭으로 구분된 텍스트 내용, 탭기준 열로 구분하여 개별 저장 txt 파일로 저장
작성자 정보
- ADKye 작성
- 작성일
컨텐츠 정보
- 268 조회
- 목록
본문
간단한 작업만 파워쉘
100메가 이상 용량이 큰 파일은 파이썬으로 작업하는게 편함
a001.txt -> 열별로 001.txt 002.txt 003.txt 로 분배저장
---------------------------------------
$inputFilePath = "a001.txt"
# 파일에서 텍스트 읽어오기
$inputText = Get-Content $inputFilePath -Raw
# 텍스트를 행 단위로 분할
$rows = $inputText -split '\n'
# 각 열을 개별적으로 저장할 해시 테이블 초기화
$columns = @{}
# 각 행을 탭으로 분할하여 열 단위로 처리
foreach ($row in $rows) {
$values = $row -split '\t'
for ($i = 0; $i -lt $values.Length; $i++) {
if (-not $columns.ContainsKey($i)) {
$columns[$i] = @()
}
$columns[$i] += $values[$i]
}
}
# 각 열을 선택한 파일에 저장
foreach ($key in $columns.Keys) {
$column = $columns[$key]
$outputFilePath = "{0:D5}.txt" -f ($key + 1) # 파일 이름 형식 설정
$column -join "`n" | Set-Content -Path $outputFilePath -Encoding UTF8 # UTF-8 인코딩으로 저장
}