我正在学习bash字符串处理。
如何编写一个等价于以下Java代码片段的bash脚本?
String symbols = "abcdefg12345_";
for (char i : symbols.toCharArray()) {
for (char j : symbols.toCharArray()) {
System.out.println(new StringBuffer().append(i).append(j));
}
}
以上代码片段的输出以以下内容开头:
aa
ab
ac
ad
ae
af
并以以下内容结束:
_g
_1
_2
_3
_4
_5
__
我的目标是列出允许使用的字符列表(不一定是上述字符),并打印出所有长度为2的排列组合。如果可能,我希望解决方案仅依赖于Bash,不需要安装任何其他工具。
编辑:还有一个小问题跟进:是否有办法在没有空格分隔子字符串的情况下使用字符串进行此操作?例如LIST="abcdef12345_"?
echo
的输出管道传输到sed -e 's|\ |\n|g'
可以在第一个示例上起到将输出拆分成多行的作用。 - Ken Gentle