2012-05-17 6 views
7

아래와 같은 몇 가지 SQL 쿼리에서 일부 데이터가 반환됩니다. 구분선을 기준으로 줄을 분리하여 새 줄로 보내려고합니다. 어떻게하면됩니까? ... 내가 쉘 스크립트를 사용하여 시도했지만 통해 만들 수 없습니다 ... UNIX에 해당 예를 들어UNIX에서 구분 기호를 기반으로하는 분할 선

ALB|1001|2012-04-15 ALB|1001|2012-04-14 ALB|1001|2012-04-16 ALB|1001|2012-04-17 


ALB|1001|2012-04-15 
ALB|1001|2012-04-14 
ALB|1001|2012-04-16 
ALB|1001|2012-04-17 
+0

bash가 아닌 스크립트 솔루션에 공개 하시겠습니까? 예를 들어'for i in s.split() :'s'가 문자열을 포함한다면 print print – Levon

+0

예 공간이 출력의 일부로오고 있습니다 ... 나는 운동하려고합니다. UNIX의 경우 – Teja

+0

사용중인 SQL 도구에서 출력 라인 분리자를 수정하는 것이 더 좋습니다. 행운을 빕니다. – shellter

답변

18

을 이렇게이 tr ' ' '\n' < file 작동한다고 :

echo "ALB|1001|2012-04-15 ALB|1001|2012-04-14 ALB|1001|2012-04-16 ALB|1001|2012-04-17" | tr ' ' '\n' 
+0

완전히 게시 할 수 있습니까? – Teja

+1

+1 멋진 간단한 솔루션 – Levon

+0

사랑하는 twalberg .. 그 매우 간단하고 쉽게 .. 고마워 .. :) – Teja

8

xargs를 단일 간단 당신이 이것을 할 수있는 프로그램 :

$ echo "ALB|1001|2012-04-15 ALB|1001|2012-04-14 ALB|1001|2012-04-16 ALB|1001|2012-04-17"|xargs -d' ' -n1 
ALB|1001|2012-04-15 
ALB|1001|2012-04-14 
ALB|1001|2012-04-16 
ALB|1001|2012-04-17 
+0

+1 xarg's 년 동안 사용, 분명히 실수 전에 명령 줄 옵션을 보지 못했습니다. – Levon

+2

'-d'는 OS X의'xargs'에 대한 옵션이 아닙니다. 그냥 그걸 추가하고 싶다고 생각했습니다 ... – 2rs2ts

+0

'xargs'는 (숨겨진) 단점이 있습니다 - 프로그램이 없을 때'/ bin/echo'를 사용합니다 실행을 지정했기 때문에 실행 빈도가 너무 높습니다. 성능 요소가 눈에 띄는 모든 입력 요소에 대해 – poige

관련 문제