Excel에서 Awk로 전환하고 싶습니다. 배열에 대해 더하기 및 나눗셈과 같은 기본적인 수학 연산이 필요합니다.AWK는 어떻게 배열 연산을 할 수 있습니까?
예를 들어, 배열 A와 B는 각각 [1, 3, 2]와 [2, 1, 2]입니다. 어떻게 A와 B 사이의 곱셈으로부터 배열 [2, 3, 4]를 얻을 수 있습니까? A와 B 사이의 더하기와 나눗셈은 어떨까요?
Excel에서 Awk로 전환하고 싶습니다. 배열에 대해 더하기 및 나눗셈과 같은 기본적인 수학 연산이 필요합니다.AWK는 어떻게 배열 연산을 할 수 있습니까?
예를 들어, 배열 A와 B는 각각 [1, 3, 2]와 [2, 1, 2]입니다. 어떻게 A와 B 사이의 곱셈으로부터 배열 [2, 3, 4]를 얻을 수 있습니까? A와 B 사이의 더하기와 나눗셈은 어떨까요?
awk는 이런 종류의 숫자 작업을 수행하지 않는다고 생각합니다. 그것은 텍스트 처리를위한 것입니다. awk의 배열은 연관되어 있고 드물게 점유되어 있습니다 (색인 사이에 "구멍"이있을 수 있음). 문자열을 사용하여 색인을 생성합니다.
for(int j=0; j<length(A) && j<length(B); j++)
C[j] = A[j] * B[j]
해시지도와 같습니다. 그래서, AWK 당신은 GNU 숫자 100과 1을 변환하여
A[100] = 10;
A[1] = 2;
을 그리고 (2 99 요소가 존재하지 않는) 문자열에 의해 색인이 생성되는 해당 배열에 저장 만 2 요소를 가질 수 있습니다 Awk 설명서에는 awk 배열 배열에 대한 좋은 섹션이 있습니다 here.
awk
"배열"은 연관성이 있습니다. 즉, 숫자의 연속적인 문자열이 아니라 임의의 입력 값에 의해 인덱싱 된 해시입니다. 그래서 당신은 숫자 인덱스 요소의 존재를 알고 있다면 당신은
for (i=0; i<3; i++){
c[i] = a[i] * b[i];
};
같은 일을 할 수있다, 또는 당신은 같은 일을 수행 할 수 있습니다
d["sam"] = a[3] + b["dog"];
그러나 배열 처리는 정말 awk
의 힘이 아니며, 나는이 코스를 도매하기 전에 무엇이 관련되어 있는지주의 깊은 시각을 가지고 조언 할 것입니다.
python
또는 다른 최신 고속 개발 언어를 사용하는 것이 더 나을 것입니다.
BTW-- 나는 지난 주에 python
에 코드의 첫 번째 중요한 코드를 썼다. 나는 완전히 푹 빠져있다. 가끔 tcl
과 에 노출 된 후, 저는 이러한 종류의 도구의 가치에 대해 정말로 소원했습니다. 나는 python
이 나를 믿는 사람이되게 할 것이라고 생각한다.
awk를 배우지 말고 Perl을 배우십시오. 그러나 Perl을 배워서 Python을 배워보십시오. 200 라인 이상의 프로그램을 처리해야 할 때 두뇌가 당신에게 감사 할 것입니다. (오랫동안 Perl 프로그래머로 일 해왔다.) –