![v find를 사용하여 테이블에 텍스트 보내기 [닫기]](https://linux55.com/image/13063/v%20find%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%85%8C%EC%9D%B4%EB%B8%94%EC%97%90%20%ED%85%8D%EC%8A%A4%ED%8A%B8%20%EB%B3%B4%EB%82%B4%EA%B8%B0%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
답변1
노력하다:
awk '
!($3 in T1) {SQ[++CNT] = $3
}
{T1[$3] = T1[$3] DL[$3] $1
T2[$3] = T2[$3] DL[$3] $2
DL[$3] = ","
}
END {for (i=1; i<=CNT; i++) printf "%s\t%s\t%s\t", T1[SQ[i]], T2[SQ[i]], SQ[i]
print _
}
' file
1,3 2,4 5s 5 6 16s 7 8 23s
답변2
GNU의 대안인 Sledgehammer는 awk
줄 바꿈이나 공백을 필드 구분 기호로 사용하며 -F'[\n ]'
, 레코드 구분 기호로 간주되는 RS=""
모든 항목도 피해야 합니다.\n
awk -F'[\n ]' 'BEGIN{RS=""; OFS="\t"}
{print substr(FILENAME,1,length(FILENAME)-4), $1","$4, $2","$5, $3, $7, $8, $9, $10, $11, $12}
' *.txt
산출:
File1 1,3 2,4 5s 5 6 16s 7 8 23s