변수에 저장된 요소 집합 (n 개의 매개 변수로 변환 가능)에 가능한 모든 순열을 생성하려면 간단한 스크립트를 준비해야합니다. 가장 쉬운 해결책은 다음과 같습니다. 그룹의 선택된 길이에 따라 여러 루프를 사용합니다. 그러나 나는 그래서이 방법을 사용하여 반향을 사용하여 요소 조합 생성
echo {1,2}{1,2}
11 12 21 22
, 나는 그것을 할 수있는 일반적인 방법을 달성하기 위해 노력하고 같이 사용하고 있습니다 즉, 조합을 생성하는 echo 명령의 기능을 활용 더 우아한 될 것이라고 생각 입력 매개 변수 요소 목록 (예 : {1,2}) 및 요소 수. 그것은 같은 것이다 : 반복 변수의 값은 {1,2,3,4} {1,2,3,4}가이 특정한 경우에 따라서
set={1,2,3,4}
group=3
for ((i=0; i<$group; i++));
do
repetition=$set$repetition
done
, 루프의 끝에서 {1,2,3,4}. 하지만 echo 명령을 사용하여이 변수를 사용하여 조합을 생성하는 방법을 찾을 수 없습니다. 시도해 보았습니다. 여러 가지를 시도했습니다.
echo $repetition
echo $(echo $repetition)
나는 그것에 붙어있어, 어떤 조언이나 도움이됩니다.
작업의 경우 요소 순서가 중요해 보입니다. 따라서 입력의 모든 순열을 열거하는 알고리즘을 찾고 있습니다. * 조합 *을 생성하는 알고리즘을 실제로 찾고있는 사람들은이 질문을 통해 오도됩니다. – josch
감사합니다. Josch, 당신 말이 맞아요. 나는 당신의 권고에 따라 질문을 더 명확하게하기 위해 그 질문에 찬사를 보냈습니다. – Toni