J'ai 1 fichier avec certaines données. Comme
my_file: p> sortie_file: p> J'essaie de répéter chaque ligne plusieurs fois (3- 1 = 2, 8-4 = 4, 14-9 = 5). Je lie cette commande: p> mais c'est répéter 2 fois pour toutes les lignes. Je veux répéter chaque ligne n fois. C'est possible? Si c'est le cas, veuillez me donner quelques suggestions. P> Merci d'avance. P> P>
3 Réponses :
Lisez chaque ligne en 3 variables et utilisez les deux premières variables comme plage de répétition.
while read -r start end char; do for ((i = start; i < end; i++)); do echo "$char" done done < my_file.txt
Utiliser awk pour cela: sortie: p>
n code> est différent pour chaque ligne.
Vérifiez son commentaire. Il dit que le nombre de répétitions provient du fichier, pas de codé dur comme ça.
Dans le cas où Perl est une option: < Pré> xxx pré>
pour chaque ligne, il Split code> S La ligne sur WhitSpace et
@A code> est la matrice de maintien de ce résultat. P> < p> Il imprime ensuite le troisième élément de la matrice (
$ A [2] code>) + une nouvelle ligne, répété (le
x code>) le nombre de fois que vous avez si vous prenez si vous prenez. La valeur dans la colonne 2 moins la valeur de la colonne 1. p> p>
Utilisez
SEQ 1 $ N code> au lieu de
SEQ 1 2 code>
Il montre de la même manière que mon fichier d'entrée.
Je ne vois pas la logique. Pourquoi N = 3 pour
A code>, n = 2 pour
B code>, n = 4 pour
C code>, etc?
Parce que j'ai des conditions préalables. Pour "A" si la valeur de condition préalable (N) est 3, alors je dois imprimer 3 fois cette ligne. Pour "B" si la valeur de condition préalable (n) est 4, alors je dois imprimer 4 fois cette ligne.
Et d'où viennent ces conditions préalables. Si vous voulez l'automatiser, il doit y avoir une règle à suivre.
my_file.txt 1 4 A 5 9 B 10 20 C Donc, je dois donc calculer la différence et imprimer "A" "B" "C" que plusieurs fois. C'est la raison principale.
Pourquoi n'est-ce pas dans la question?
Veuillez mettre à jour la question pour afficher le contenu correct de
my_file.txt code> et la sortie correspondante. Parce que cette entrée doit avoir 10
C code>, pas seulement 3.
Est
1 4 a code> une ligne ou 3 lignes?
@jonson Veuillez modifier votre question et inclure le
my_file.txt 1 4 A 5 9 B 10 20 C Code> "Thing" (Contenu de fichier?) Dans votre question. Veuillez expliquer comment fonctionne cette "valeur de condition préalable (n)" fonctionne.
Oui en une ligne. Ok merci beaucoup pour votre suggestion.
@Tedlyngmo je suis coquille bash.