GNU/Linux >> Belajar Linux >  >> Linux

Menampilkan dua file berdampingan

Jika Anda tahu file input tidak memiliki tab, maka gunakan expand menyederhanakan jawaban @oyss:

paste one.txt two.txt | expand --tabs=50

Jika mungkin ada tab di file masukan, Anda selalu dapat meluaskannya terlebih dahulu:

paste <(expand one.txt) <(expand two.txt) | expand --tabs=50

Anda dapat menggunakan pr untuk melakukannya, gunakan -m bendera untuk menggabungkan file, satu per kolom, dan -t untuk menghilangkan tajuk, mis.

pr -m -t one.txt two.txt

keluaran:

apple                               The quick brown fox..
pear                                foo
longer line than the last two       bar
last line                           linux

                                    skipped a line

Lihat Juga:

  • Cetak hasil perintah berdampingan
  • Menggabungkan file teks berdasarkan kolom

Untuk sedikit memperluas jawaban @Hasturkun:secara default pr hanya menggunakan 72 kolom untuk keluarannya, tetapi relatif mudah membuatnya menggunakan semua kolom yang tersedia di jendela terminal Anda:

pr -w $COLUMNS -m -t one.txt two.txt

Sebagian besar shell akan menyimpan (dan memperbarui) lebar layar terminal Anda di $COLUMNS variabel shell, jadi kami hanya meneruskan nilai itu ke pr untuk digunakan untuk pengaturan lebar keluarannya.

Ini juga menjawab pertanyaan @Matt:

Apakah ada cara bagi pr untuk mendeteksi lebar layar secara otomatis?

Jadi, tidak:pr sendiri tidak dapat mendeteksi lebar layar, tetapi kami membantunya sedikit dengan meneruskan lebar terminal melalui -w opsi.

Perhatikan bahwa $COLUMNS adalah variabel shell, bukan variabel lingkungan, sehingga tidak diekspor ke proses anak, dan karenanya pendekatan di atas kemungkinan tidak akan berfungsi dalam skrip, hanya dalam TTY interaktif... lihat variabel lingkungan LINES dan COLUMNS hilang dalam skrip untuk pendekatan alternatif.


Linux
  1. Bagaimana Cara Mengubah Ekstensi Banyak File?

  2. Cetak Dua File Dalam Dua Kolom?

  3. Temukan File Duplikat?

  1. Cara Menggabungkan Dua File Teks di Linux

  2. Keluarkan Common Lines (kesamaan) Dari Dua File Teks (Kebalikan Dari Diff)?

  3. cara menggabungkan dua file secara konsisten baris demi baris

  1. File Cat Dengan Direktori?

  2. Garis Umum Antara Dua File?

  3. Cara Menemukan File dengan Perintah fd di Linux