
다음 은 PoolReport.txt
몇 가지 샘플 데이터입니다.
Thu, Aug 27, 2015 7:56:29 AM
PoolName,Total GB,Used GB ,Available GB ,Percent Full
Oracle-RAID10,6432.539,6179.295,253.244,96.063
VM_File,45210.379,40726.389,4483.991,90.082
Oracle-RAID5,15025.039,12289.707,2735.332,81.795
다음 형식이어야 합니다.
Thu, Aug 27, 2015 7:56:29 AM
PoolName Total GB Used GB Available GB Percent Full
Oracle-RAID10 6432.539 6179.295 253.244 96.063
VM_File 45210.379 40726.389 4483.991 90.082
Oracle-RAID5 15025.039 12289.707 2735.332 81.795
나는 더 나은 형식(아래)을 만들 수 있었지만 필요한 작업을 수행하지 못했습니다.
awk -F "," '{print $1"\t" $2"\t" $3"\t" $4"\t" $5"\t" }' PoolReport.txt
Thu Aug 27 2015 7:56:29 AM
PoolName Total GB Used GB Available GB Percent Full
Oracle-RAID10 6432.539 6179.295 253.244 96.063
VM_File 45210.379 40726.389 4483.991 90.082
Oracle-RAID5 15025.039 12289.707 2735.332 81.795
답변1
귀하의 질문을 올바르게 이해했는지 잘 모르겠지만 열을 정렬하고 싶다고 생각합니다. 이 경우 다음 명령이 column
편리합니다.
column -s, -t file
산출:
Thu Aug 27 2015 7:56:29 AM
PoolName Total GB Used GB Available GB Percent Full
Oracle-RAID10 6432.539 6179.295 253.244 96.063
VM_File 45210.379 40726.389 4483.991 90.082
Oracle-RAID5 15025.039 12289.707 2735.332 81.795
또는 첫 번째 행을 변경하지 않고 유지하려면
{ head -n 1; column -s, -t; } <file
산출:
Thu, Aug 27, 2015 7:56:29 AM
PoolName Total GB Used GB Available GB Percent Full
Oracle-RAID10 6432.539 6179.295 253.244 96.063
VM_File 45210.379 40726.389 4483.991 90.082
Oracle-RAID5 15025.039 12289.707 2735.332 81.795
man column
출력을 조정하기 위해 추가할 수 있는 가능한 옵션을 확인하십시오 .
답변2
첫 번째 줄을 제외하고 모든 항목을 ,
다음으로 변경합니다.{tab}
sed '2,$s/ *, */\t/g' PoolReport.txt
또는 첫 번째 줄을 제외하고 탭 구분 기호를 사용하여 필드 형식을 지정합니다.
awk -F, 'NR==1;NR>1{OFS="\t"; print $1,$2,$3,$4,$5}' PoolReport.txt
두 인스턴스 모두에 대한 출력:
Thu, Aug 27, 2015 7:56:29 AM
PoolName Total GB Used GB Available GB Percent Full
Oracle-RAID10 6432.539 6179.295 253.244 96.063
VM_File 45210.379 40726.389 4483.991 90.082
Oracle-RAID5 15025.039 12289.707 2735.332 81.795