来自行:
word1 word2 word3 word4 word5 word6
如何返回以下内容:
word1
word2
word3
word4
word5
word6
word1 word2
word2 word3
word3 word4
word4 word5
word5 word6
word1 word2 word3
word2 word3 word4
word3 word4 word5
word4 word5 word6
word1 word2 word3 word4
word2 word3 word4 word5
word3 word4 word5 word6
word1 word2 word3 word4 word5
word2 word3 word4 word5 word6
word1 word2 word3 word4 word5 word6
由于知识有限,我以前都是一行一行地这样做,但如果该行包含很多单词,我就必须输入数百行。所以请帮助我。
最佳答案
您要求“给定字符串的所有子字符串,不拆分单词«或”数组的所有子数组«。
bash 解决方案
#! /bin/bash
array=(word1 word2 word3 word4 word5 word6)
for (( length=1; length <= "${#array[@]}"; ++length )); do
for (( start=0; start + length <= "${#array[@]}"; ++start )); do
echo "${array[@]:start:length}"
done
done
sh 解决方案
由于 mklement0 更好而被删除 sh-solution .
关于bash - 在bash中,如何生成所有可能的单词组合,但按原始顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43384770/