J'essaie d'apprendre la manipulation des chaînes de bash. Comment créer un script bash équivalent à cet extrait de code Java?Gestion des chaînes de caractères Bash (char à l'index et concaténation)
String symbols = "abcdefg12345_";
for (char i : symbols.toCharArray()) {
for (char j : symbols.toCharArray()) {
System.out.println(new StringBuffer().append(i).append(j));
}
}
La sortie de l'extrait de code ci-dessus commence par:
aa
ab
ac
ad
ae
af
et se termine par:
_g
_1
_2
_3
_4
_5
__
Mon but est d'avoir une liste de caractères autorisés (pas nécessairement les ci-dessus) et imprimer toutes les permutations de longueur 2. Si cela est possible je voudrais une solution qui repose uniquement sur bash et ne nécessite aucune autre installation.
Editer: Juste une petite question de suivi: Y at-il un moyen de le faire avec une chaîne sans espaces séparant les sous-chaînes? Comme LIST = "abcdef12345_"?
redirigeant la sortie d'écho 'sed -e 's | \ | \ n | g'' travaux sur le premier exemple de diviser la sortie en lignes. –
@Ken G: Belle addition! @unwind: Bien que j'aie aimé le premier exemple, je l'ai sélectionné comme réponse acceptée pour le second, car il me permet de conserver la liste en un seul endroit et la ligne se casse correctement sans avoir à utiliser Sed (disponible en la plupart des endroits, mais pas partout). –
Juste une petite question de suivi: Y at-il un moyen de le faire avec une chaîne sans espaces séparant les sous-chaînes? Comme LIST = "abcdef12345_"? –