J'ai un fichier ($ scriptname). Je veux que les 2 premiers characteurs de chaque ligne soient dans une liste (entrées). J'utilise un script Bash.
Comment ferais-je cela? P>
J'ai déclaré mon tableau comme ceci: p> Utilisation d'une entreprise à partir de là : https://opensource.com/article / 18/5 / You-ne-donn-savoir-bash-intro-bash-bish-bishrats p> J'utilise Manjaro 19 et le dernier noyau. P> P>
3 Réponses :
Pour obtenir les deux premiers caractères em> à partir de chaque ligne, vous pouvez utiliser Je ne suis pas sûr de ce que vous entendez par une" liste ". Si vous souhaitez simplement créer un fichier avec les résultats, utilisez la redirection: p> si vous souhaitez peupler un tableau, utilisez simplement P> -c1,2 code> signifie "caractères de sortie dans Positions 1 et 2 " P> sed 's/[^[:alpha:]]//g' "$ScriptName" | cut -c1,2
Je veux dire un tableau qui a seulement une rangée, c'est-à-dire. (1 2 4 6 3 5 7).
Je suis juste intéressé par les personnages,
= + code> et + = code> ne sont pas équivalents. En outre, aucun espaces autour des opérateurs d'affectation dans Bash.
En outre, étude homme bash code> ou une ressource similaire sur les parenthèses moyenne. Vous ne pouvez pas simplement taper des personnages au hasard et vous attendre à ce que la coquille devine ce que vous voulez.
Merci pour la grande réponse - beaucoup de détails et vraiment utiles.
Essayez ceci shellcheck -clean (à l'exception d'une initialisation manquante de ScriptName code> ) Code PURE BASH: Starters=()
while IFS= read -r line || [[ -n $line ]]; do
Starters+=( "${line:0:2}" )
done < "$ScriptName"
$ {line: 0: 2} " code>. li>.
ul> p>
the MapFile code> bash construit -in Commande combinée à Cut code> le rend simple:
Qu'avez-vous essayé et quel est le problème avec cela?
J'ai cherché certaines commandes cependant n'avaient pas l'air d'avoir trouvé. Il n'y a pas d'erreur que je ne connais simplement aucune des commandes pour le faire.
Considérons à la recherche de la commande
couper code> pour les allumettes. Vous pouvez également utiliser la commande BashMAPFILE CODE> MAPFILE (Aide MapFile CODE>) Pour lire les données directement.