Je veux ajouter un nouveau caractère de ligne '\ n' à la fin de chaque ligne de mon fichier.
Voici mon code: p>
id123 0 1 0 0 ... id456 1 1 1 0 ... ...
3 Réponses :
Vous ne pouvez ouvrir le fichier de sortie qu'une seule fois, à la fin du pendant la boucle code>, puis faites ce que vous voulez sortir dans la boucle.
sed -r 's/:[^[:blank:]]+//g; s/[|/]/ /g' input
Que diriez-vous: ou utilisez "$ line" $ nouvelle ligne code> Si nécessaire pour conserver la mise en forme d'origine de
$ line code> en fonction de votre besoin. p> p>
Peut-être que vous surchargez cela. ( XY Problème? )
$: sed 's,[|/], ,g; s/:[^ ]*//g;' file_in > genotype_processed.txt
Un simple
echo code> ne fonctionne pas?
@Zumodevidrio non, qui est vraiment bizarre. J'ai essayé | echo '\ n', qui ne fonctionne pas évidemment. Alors | echo "\ n", finissait uniquement \ n dans mon fichier. Et puis Printf et Imprimer ne fonctionnent pas non plus. Je ne sais pas quoi faire maintenant :(
Parce que
echo code> n'imprime que c'est des arguments, pas d'entrée. Au lieu d'utiliser
echo code> après le tuyau, vous pouvez également insérer une nouvelle ligne avec
| sed 's / $ / \ n /' code> qui remplace la fin de la ligne en cours avec
\ n code>
@Zelnes le SED après que le tuyau fonctionne parfaitement! Merci beaucoup!
Pourquoi ne faites-vous pas toute cette boucle à l'intérieur d'un
awk code> au lieu de se frayer 4 processus sur toutes les lignes? Vous appelle
awk code> quand même, déposez le
lisez code> et laissez-le traiter tout le fichier.