Apakah ada cara untuk melakukan sesuatu seperti ini:
cat somefile.txt | sort | uniq > somefile.txt
Yaitu saya ingin daftar seluruh file, kemudian pipa beberapa tindakan ke kontennya dan akhirnya mengembalikan hasilnya ke file sumber menimpa sepenuhnya. Untuk saat ini saya melakukannya dengan meletakkan output ke file sementara dan setelah itu memindahkannya ke yang asli. Saya ingin melakukannya dengan cara sederhana seperti memungkinkan perpipaan linux.
Shell ada bash
di Linux dan cmd
di Windows jika itu penting.
sumber
sponge
adalah jawaban umum, tetapi karenasort
(tidak seperti kebanyakan utilitas) perlu buffer semua data sebelum mengeluarkan apapun (kecuali untuk-m
), untuk kasus khusus ini Anda bisasort -u -o somefile.txt somefile.txt
.Anda dapat menggunakan Vim dalam mode Ex:
sort u
semacam unikx
Simpan dan tutupsumber