이 명령은 열 값을 행으로 변환합니다. 주문하다:
awk -s1=" " '{S=S?S OFS s1 $0 s1:s1 $0 s1} END{print S}' OFS=, Input_file
예:
1
2
3
다음으로 변환:
1, 2, 3
이 명령을 이해하도록 도와줄 사람이 있나요?
답변1
다음 구문을 알아야 합니다.
var = bool ? true_action : false_action
이것은 ... 불리운다조건식
그것과
if (bool) { var = true_action } else { var = false_action }
그래서 이거:
S=S?S OFS s1 $0 s1:s1 $0 s1
이것과 동일:
if (S) { S=S OFS s1 $0 s1 } else { S = s1 $0 s1 }
if (S)
할당된 경우 TrueS
이므로 명령이 처음 호출될 때만 False입니다.var1 var2 var3
문자열을s1
공백,OFS
현재 상태,
및S
이전에 할당된 항목과 연결하기만 하면 됩니다.END{print S}
S
마지막 줄 이후에 인쇄됩니다.
답변2
다음 sed 및 perl 명령을 사용해 보십시오.
perl -pne "s/\n/,/g" filename| sed "s/,$//g"
산출
1,2,3