Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Append newline to many files



On Sun, Sep 25, 2022 at 3:21 PM Dominik Vogt <dominik.vogt@xxxxxx> wrote:
>
> Assume there are thousands of text files that are not terminated
> with a newline.  I want to concatenate them all, but add the
> missing newline between files.
>
> This works but takes ten times as much time as "cat foo.*".
>
>   for i in foo.*; do cat "$i"; echo; done > out
>
> I can't really think of a fast yet simple solution.

This should work:

    print >lf
    files=(foo.*)
    lf=(lf)
    cat -- ${files:^^lf}
    rm lf

Roman.




Messages sorted by: Reverse Date, Date, Thread, Author