GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Membiarkan `sort | Uniq -c` Pisahkan Jumlah Kejadian Dengan Karakter Tab?

uniq -c memisahkan nomor kemunculan dengan spasi, yang sulit untuk cut atau awk untuk memisahkannya nanti.

1000_A1\tB1\n
___1_A2\tB2\n

Saya dapat menyelesaikan masalah ini menggunakan sed -r 's/^ *([0-9]+)/\1\t/' untuk mengubah pembatas menjadi tab. Kemudian cut -f1 bisa kembali:

1000\tA1\tB1\n
1\tA2\tB2\n

Tetapi tampaknya penggunaan umum untuk memiliki uniq -c pisahkan nomor dengan tab. Mengapa fitur ini hilang? Apakah ada cara lain yang lebih mudah untuk melakukannya?

Jawaban yang Diterima:

Sepertinya Anda memiliki format seperti <number><space><field 1 name><tab><field 2 name> , dan Anda ingin memeriksa apakah input diurutkan menurut field 1 name . Jika itu yang Anda inginkan, cukup hapus bagian nomor awal dan periksa pengurutan bagian yang tersisa dari kolom pertama:

echo "$input" | sed -r 's/^ *[^ ]+ //' | sort -c -k1,1

Linux
  1. Bagaimana Mem-pipe Daftar Perintah yang Ditampilkan Oleh "tab Complete"?

  2. Bagaimana Menghitung Jumlah Baris Dalam File Setelah Pertandingan Grep?

  3. Bagaimana cara mendapatkan jumlah CPU di Linux menggunakan C?

  1. Bagaimana cara mendapatkan jumlah disk fisik di Linux?

  2. Cara mendapatkan nomor tampilan yang ditugaskan oleh X

  3. Cara menentukan jumlah minggu dalam sebulan

  1. Bagaimana Cara Meningkatkan Jumlah Inode Dalam Sistem File Ext4?

  2. Bagaimana Menemukan Jumlah Garis Vertikal Yang Tersedia Di Terminal?

  3. Bagaimana cara menghitung jumlah byte dalam sebuah file, mengelompokkan byte yang sama?