2016-08-23 2 views
0

쉘 스크립트를 사용하여 행렬을 목록으로 변환하려고했습니다. 누구든지 쉘을 사용하는 방법을 제안 할 수 있습니까?쉘 스크립트를 사용하여 행렬을 목록으로 변환

hello a 
hello b 
hi b 
hi c 

쉘을 사용하여 할 수있는 방법이 있나요 : 행렬

 hello a|b 
    hi  b|c 

과 같은 방법

이 지금은 매트릭스 우는 소리처럼 원하는 무엇입니까? 사전에

덕분에

+0

가'안녕하세요 ABCD 같은 라인이 될 수 | e' ? 출력은 어떻게 될까요? – Kent

답변

1

이 명령은 :

awk -F'[| ]+' '{for(i=2;i<=NF;i++)print $1 "\t" $i}' file 

는 변환합니다 :

hello a|b|c 
hi b|c|d 

로 :

hello a 
hello b 
hello c 
hi  b 
hi  c 
hi  d 
+0

안녕하세요 "\ t"a | b | c 사이에 탭이 있습니다.이 탭은 – sp2

+0

@ sp2로 작동하지 않습니다. gawk와 함께 작동합니다 : 'awk -F'[|] | \\ s + ''.....' – Kent

관련 문제