GNU/Linux >> Belajar Linux >  >> Linux

File Cat Dalam Urutan Tertentu Berdasarkan Jumlah Dalam Nama File?

Saya memiliki file bernama file.88_0.pdb , file.88_1.pdb , ... , file.88_100.pdb . Saya ingin cat mereka sehingga file.88_1.pdb ditempelkan setelah file.88_0.pdb , file.88_2.pdb setelah file.88_1.pdb , dan seterusnya. Jika saya melakukan cat file.88_*.pdb > all.pdb , file-file tersebut disatukan dalam urutan sebagai berikut:0 1 10 11 12 13 14 15 16 17 18 19 2 20... , dll. Bagaimana cara menggabungkannya sehingga urutannya 0 1 2 3 4 5 6... ?

Jawaban yang Diterima:

Gunakan brace expansion

cat file.88_{0..100}.pdb >>bigfile.pdb

Untuk mengabaikan pencetakan pesan kesalahan untuk file yang tidak ada, gunakan:

cat file.88_{0..100}.pdb >>bigfile.pdb 2>/dev/null

Dalam zsh shell juga Anda memiliki (n) globbing qualifier untuk meminta numerik penyortiran (sebagai lawan dari default abjad ) untuk gumpalan:

cat file.88_*.pdb(n) >>bigfile.pdb 2>/dev/null

Linux
  1. Cara membagi satu file menjadi beberapa file berdasarkan baris

  2. Menggabungkan File Tertentu Menjadi Satu File Tunggal?

  3. Gunakan Perintah fallocate untuk Membuat File dengan Ukuran Tertentu di Linux

  1. 10 Contoh Perintah Cat untuk Mengelola File di Linux / UNIX

  2. Cara hanya mendapatkan jumlah baris file

  3. Bagaimana cara membagi file CSV sesuai jumlah baris yang ditentukan?

  1. Urutan Pengalihan?

  2. Hapus file yang terdaftar dalam file teks

  3. Jumlah maksimum file terbuka terbesar yang diizinkan di Linux