Dans divers endroits du Web, j'ai trouvé:
\015
\012
\x0a - hex
\n
\r
tous comme synonymes de divers retours à la ligne / retours chariot ...
Mais dans ce petit script, je ne peux pas reconnaître quand je tombe sur une nouvelle ligne - quelqu'un peut-il me dire ce que je devrais vérifier dans la ligne if?
#!/bin/bash
test="this is a
test"
for a in "$test"; do
if [[ "$a" == '\012' ]] ; then
echo "FOUND NEWLINE"
fi
echo "$a"
done
wc -lretournera 0; vous devriez ajouter cela comme une réponse
cat | while read line; do ...; done, vous savez qu'il y a eu un retour chariot pour chaque itération. Si votre entrée peut être des fichiers\rsans\n, il suffit de transformer le fichiertr '\r' '\n'lors du traitement de l'entrée. Si vous avez juste besoin de savoir s'il y a plusieurs lignes:wc -l.