GNU/Linux >> Belajar Linux >  >> Linux

Cara mengurutkan file di tempat

Anda dapat menggunakan -o , --output=FILE opsi semacam untuk menunjukkan file masukan dan keluaran yang sama:

sort -o file file

Tanpa mengulang nama file (dengan ekspansi bash brace)

sort -o file{,}

⚠️ Catatan penting: kesalahan umum adalah mencoba mengalihkan output ke file input yang sama (mis. sort file > file ). Ini tidak berfungsi karena shell membuat pengalihan (bukan sort(1) program) dan file input (sebagai output juga) akan dihapus tepat sebelum memberikan sort(1) memprogram kesempatan untuk membacanya.


sort perintah mencetak hasil operasi penyortiran ke output standar secara default. Untuk mencapai pengurutan "di tempat", Anda dapat melakukan ini:

sort -o file file

Ini menimpa input file dengan output yang diurutkan. -o switch, digunakan untuk menentukan keluaran, ditentukan oleh POSIX, jadi harus tersedia di semua versi sort :

-o Tentukan nama file keluaran yang akan digunakan sebagai pengganti keluaran standar. File ini bisa sama dengan salah satu file masukan.

Jika Anda kurang beruntung memiliki versi sort tanpa -o switch (Luis meyakinkan saya bahwa mereka ada), Anda dapat melakukan pengeditan "di tempat" dengan cara standar:

sort file > tmp && mv tmp file

Linux
  1. Cara Memodifikasi File Di Tempat?

  2. Bagaimana Mengurutkan Du Output Berdasarkan Ukuran?

  3. Bagaimana Mengganti Nama File di Linux?

  1. Urutkan Bagian Dari File?

  2. Bagaimana cara membuat file jarang?

  3. Bagaimana cara menyalin file secara transaksional?

  1. Cara grep \n dalam file

  2. Bagaimana cara mengurutkan berdasarkan ekstensi file dan kemudian nama?

  3. Bagaimana cara mengubah file di tempat menggunakan awk? (seperti halnya sed -i)