GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menggabungkan beberapa baris keluaran menjadi satu baris?

Memipipkan output ke xargs akan menggabungkan setiap baris keluaran menjadi satu baris dengan spasi:

grep pattern file | xargs

Atau perintah apa pun, mis. ls | xargs . Batas default xargs keluaran ~4096 karakter, tetapi dapat ditingkatkan dengan mis. xargs -s 8192 .

grep xargs


Gunakan tr '\n' ' ' untuk menerjemahkan semua karakter baris baru ke spasi:

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

Catatan:grep membaca file, cat menggabungkan file. Jangan cat file | grep !

Edit:

tr hanya dapat menangani terjemahan karakter tunggal. Anda dapat menggunakan awk untuk mengubah pemisah rekaman keluaran seperti:

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

Ini akan mengubah:

one
two 
three

ke:

one" two" three" 

Linux
  1. Bagaimana Cara Memulai Grep Multi-utas Di Terminal?

  2. Mengirimkan "ps" Di Beberapa Server, Output Menuju Satu File Teks?

  3. Cara menambahkan konten dari banyak file ke dalam satu file

  1. Bagaimana Cara Menghapus Beberapa Baris Acak Dari File Teks Menggunakan Sed?

  2. Cara mencetak nama grup linux pada banyak baris alih-alih keluaran satu baris

  3. Cara grep keluaran ps dengan header

  1. Bagaimana Cara Menambahkan Beberapa Baris Ke File?

  2. Bagaimana Menemukan Banyak String Dalam File??

  3. Cara memahami keluaran warna