Simple program to print from a buffer until a newline is found
I haven't used nasm, but superficially, it looks like you are calling out to the kernel for each character in the string.  This is likely to be a relatively expensive operation.
Looking at this, it would appear that edx can be used to specify the number of characters to output.  With this in mind, it would probably be more efficient to find the string length first and then output the entire string in a single system call.
It's also worth considering breaking up your logic into functions.  This doesn't make a lot of difference with such a small program, however it'll be important as you start trying to do more complex logic.  I'm not sure what the standard calling conventions are, however you could end up with something 'like' this...
global _start

section .data
    input: db `1234567890\n`

section .text
    _exit:
        mov eax, 1
        mov ebx, 0
        int 0x80

    ; Input esi points to string
    ; Output edx contains length
    ; Modifies eax
    _linelen:
        mov eax, esi
        .loop:
            inc eax
            
            cmp BYTE [eax], 10
            jne .loop 
        mov edx, eax
        sub edx, esi
        ret       

    ; Input esi points to string
    ;       edx contains string length
    ; Modifies eax, ebx
    _print:
        mov eax, 4
        mov ebx, 1
        int 0x80
        ret

    _start:
        mov esi, input  ; Current head of string

        call _linelen

        mov ecx, esi
        call _print

        call _exit