How to concatenate multiple lines of output to one line?

前端 未结 11 1368
失恋的感觉
失恋的感觉 2020-12-04 07:08

If I run the command cat file | grep pattern, I get many lines of output. How do you concatenate all lines into one line, effectively replacing each \"\\n

11条回答
  •  时光取名叫无心
    2020-12-04 07:43

    Use tr '\n' ' ' to translate all newline characters to spaces:

    $ grep pattern file | tr '\n' ' '
    

    Note: grep reads files, cat concatenates files. Don't cat file | grep!

    Edit:

    tr can only handle single character translations. You could use awk to change the output record separator like:

    $ grep pattern file | awk '{print}' ORS='" '
    

    This would transform:

    one
    two 
    three
    

    to:

    one" two" three" 
    

提交回复
热议问题