예:
다음 데이터가 포함된 파일이 있습니다.
cvrta2100 Error 404 Fixed
cvrta2111 Licensed Needs Fixing
cvrta2123 Error 404 Fixed
cvrta2333 Licensed Needs Fixing
나는 awk
이 출력을 Excel 파일로 인쇄하는 데 사용합니다.
awk 'BEGIN{ OFS="|"; print "Hosts|Output|Status"}; NR > 1{print $1, $2, $3, $4, $5, $6, $7, $8, $9;}' input.txt > Output.xls
문제는 단일 셀에서만 결과를 얻을 수 있다는 것입니다. 즉, " cvrta2333 Licensed Needs Fixing
"는 모두 단일 셀에 인쇄됩니다.
내 질문: 각 단어 "호스트", "출력" 및 "상태"를 다른 셀에 인쇄할 수 있습니까? 즉, cvrta2333
(한 셀) Licensed
(다음 셀) Needs Fixing
(다음 셀)
답변1
이와 같은 "간단한" 열의 경우 쉼표로 구분된 값은 Excel에서 잘 열립니다.
awk 'BEGIN{ OFS=","; print "Hosts,Output,Status"}; NR > 1{print $1, $2, $3, $4, $5, $6, $7, $8, $9;}' input.txt > Output.csv
답변2
Excel에서 파일을 가져오는 경우 "텍스트를 표로" 기능(또는 무엇이라고 부르든)을 사용하여 공백 구분 기호를 사용하여 행을 열로 분할할 수 있습니다.
Excel이 어떻게 반응할지 모르겠지만 다음 명령을 사용하여 파일을 탭 또는 쉼표로 구분된 단어가 포함된 파일로 변환할 수 있습니다.티,
$ tr \ \\t < input > output
$ tr \ , < input > output
로그 파일 텍스트에 쉼표를 인용해야 하기 때문에 Excel을 행복하게 만드는 유일한 것이 아니라면 CSV를 멀리하겠습니다.