GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Mengurutkan Dengan Pembatas Yang Panjangnya Beberapa Karakter?

MASUKAN:

$ cat a.txt 
1FOO2FOO3
4FOO5FOO5
2FOO1FOO9
$ 

KELUARAN:

$ cat a.txt | sort SOMEMAGIC
2FOO1FOO9
1FOO2FOO3
4FOO5FOO5
$ 

Pertanyaan :Bagaimana saya bisa mengurutkan, jika saya memiliki pembatas panjang beberapa karakter? (“FOO”)?

Dalam contoh a.txt diurutkan berdasarkan kolom kedua.

Pertanyaan secara umum, angka di a.txt bisa apa saja.

Jawaban yang Diterima:

Gunakan mis. sed untuk mengganti string dengan pembatas satu karakter, urutkan menurut kolom, lalu ganti pembatas kembali:

sed -e s/FOO/X/g a.txt | sort -k 2,2 -t X | sed -e s/X/FOO/g 

Ini mengasumsikan bahwa ada karakter yang Anda tahu tidak muncul di input. Karakter kontrol akan menjadi kandidat umum, tetapi Anda harus membuat pilihan berdasarkan pengetahuan Anda tentang format input.


Linux
  1. Cara Menggunakan Perintah 'cat' dan 'tac' dengan Contoh di Linux

  2. Cara Zip File dan Direktori di Linux (dengan Contoh)

  3. Bagaimana Cara Mendefinisikan Pembatas 'tab' Dengan 'potong' Di Bash?

  1. Bagaimana Cara Mengeluarkan File &Mengabaikan Baris Yang Dimulai Dengan "?"?

  2. Bagaimana Cara Memasukkan Spasi Setiap Empat Karakter Dalam Garis Panjang?

  3. Periksa Berapa Lama Skrip Bash Dijalankan Dengan Perintah Waktu

  1. Cara Menemukan File dengan Perintah fd di Linux

  2. Bagaimana cara membangun modul kernel Linux agar kompatibel dengan semua rilis kernel?

  3. Bagaimana cara mengganti nama file secara massal dengan penyandian yang tidak valid atau mengganti karakter yang disandikan yang tidak valid secara massal?