2017-05-16 12 views
0

아래는 제 파일입니다. 모든 파이프 기호가 하나 아래에 있으며 테이블 형식으로 보이도록 출력 사이에 일정한 너비를 유지하려고합니다. 어떻게하면 될까요? 또한 출력물을 우편으로 보낼 때도 동일한 형식이 필요합니다.쉼표로 구분 된 파일을 예쁜 방법으로 인쇄 하시겠습니까?

cat file.txt 
name,score card,ID 
Jack,Available,YES 
Jen,NA,NO 
Jerry,Available,YES 
Padula,NA,YES 
Mackenzi,NA,NO 

sed 's/,/\t|\t/g' c.txt 
name |  score card  |  ID 
Jack |  Available  |  YES 
Jen  |  NA  |  NO 
Jerry |  Available  |  YES 
Padula |  NA  |  YES 
Mackenzi  |  NA  |  NO 

==I want== 
name  |  score card  |  ID 
Jack  |  Available  |  YES 
Jen  |  NA    |  NO 
Jerry  |  Available  |  YES 
Padula |  NA    |  YES 
Mackenzi |  NA    |  NO 
+0

수행하면 사전에 필요한 열 너비를 알아? 또는 각 열에 대한 콘텐츠의 최대 너비를 결정 하시겠습니까? 후자는 어떤 도구로도 두 번 통과해야합니다. – Yunnosch

+0

콘텐츠의 최대 너비는 여기 열로 입력 할 수 있습니다. – Rockshell

+0

죄송합니다. 코드를 게시하는 것을 잊었습니다. StackOverflow는 사람들이 코드를 수정하도록 돕는 것입니다. 무료 코딩 서비스가 아닙니다. 모든 코드가 코드가없는 것보다 낫습니다. 심지어 코드를 작성하는 방법을 모르는 경우에도 메타 코드는 프로그램이 작동해야한다고 생각하는 방식을 보여줍니다. 지금까지의 작업을 [MCVE] (http://stackoverflow.com/help/mcve)에서 보여 주시면 기대했던 결과와 얻은 결과를 얻으실 수 있습니다. 저희가 도와 드리겠습니다. – ghoti

답변

5
$ sed 's/,/,|,/g' file | column -t -s, 
name  | score card | ID 
Jack  | Available | YES 
Jen  | NA   | NO 
Jerry  | Available | YES 
Padula | NA   | YES 
Mackenzi | NA   | NO 
+2

이것은 열의 수에 의존하지 않기 때문에 정말 깔끔합니다. – codeforester

+0

안녕 모튼, 출력 내가 셸 명령 줄에서 찾고있는 것 같다 있지만이 출력 메일, 열 너비를 전에 마찬가지로. Mail에서 동일한 형식을 얻으려면 어떻게해야합니까? – Rockshell

+3

메일에 일정한 너비의 글꼴을 사용합니까? 그건 쉘이나 당신의 질문과는 아무 상관이 없습니다 - 손으로 모든 표 파일을 만들고 메일로 보내보십시오. 디버그. 이제이 결과물에 대해 똑같은 일을하십시오. –

0

, 당신은 awk에 보관할 경우 같은 일을하면

awk -F"," '{printf "%-10s%s%-10s%s%-10s\n", $1,OFS,$2,OFS,$3}' OFS="|" file.txt