Les lignes suivantes ajoutent le contenu de essay_i.txt à la fin de essay1.txt ;
touch essay1.txt
for (( i = 1 ; i <= 10 ; i++ )); do
sed '2p' essay_"${i}".txt >> essay1.txt
done
comment dois-je faire pour que la première ligne de chaque essai_i.txt ne soit pas copiée (c.-à-d. copier seulement la ligne 2->fin) ?
0 votes
C'est l'ajout que vous voulez, ou la version sed ? Pour une version directe de Shell, vous pourriez utiliser ` tail -n +2 essai_i.txt >> essai1.txt `
1 votes
Votre script copie deux fois la ligne des secondes, est-ce intentionnel ? (en fait, ça ne fonctionne pas du tout pour moi, donc je devine).
0 votes
Stefano Palazzo : désolé, c'est ma faute (erreur de frappe). Merci.
0 votes
Vous pouvez aussi le faire sans la boucle :
awk 'FNR>1' essay_[0-9].txt essay_[1-9][0-9].txt > essay1.txt
. Il serait encore plus court si les nombres dans les noms de fichiers étaient complétés par des zéros.