GNU datamash: 필드 작업을 모든 열에 적용하시겠습니까?

GNU datamash: 필드 작업을 모든 열에 적용하시겠습니까?

존재하다GNU 데이터 혼합countunique, (내 경우에는) 모든 열에서 필드 작업을 실행하는 방법은 무엇입니까 ?

예를 들어 의사코드에서는 다음과 같습니다.

cat BFCSV.csv | datamash -t',' countunique *

답변1

파일의 열 수를 알고 있으면 GNU datamash를 사용할 수 있습니다.

seq 100 | paste - - - -
1   2   3   4
5   6   7   8
9   10  11  12
13  14  15  16
17  18  19  20
21  22  23  24
25  26  27  28
29  30  31  32
33  34  35  36
37  38  39  40
41  42  43  44
45  46  47  48
49  50  51  52
53  54  55  56
57  58  59  60
61  62  63  64
65  66  67  68
69  70  71  72
73  74  75  76
77  78  79  80
81  82  83  84
85  86  87  88
89  90  91  92
93  94  95  96
97  98  99  100
seq 100 | paste - - - - | datamash countunique 1-4
25  25  25  25
printf "%d\t%d\t%d\t%d\n" 1 2 3 4 | sed 'p;p;p;'
1   2   3   4
1   2   3   4
1   2   3   4
1   2   3   4
printf "%d\t%d\t%d\t%d\n" 1 2 3 4 | sed 'p;p;p;' | datamash countunique 1-4
1   1   1   1

관련 정보