Bagaimana menghapus teks yang ada dalam file teks tanpa membukanya?
Maksud saya misalnya saya memiliki file seperti hello.txt
halnya beberapa data teks di dalamnya, dan bagaimana saya bisa menghapus total teks dalam file itu tanpa membukanya?
Maksud saya, saya tidak menggunakan editor seperti nano, Gedit, dll.
command-line
bash
rɑːdʒɑ
sumber
sumber
Jawaban:
Cukup buka terminal Anda dengan CTRL+ ALT+ Tdan ketik as
itu saja, data Anda dalam file itu akan dihapus tanpa membukanya bahkan.
Contoh:
sumber
stdout
menimpa file yang ada jika ada. Dalam hal ini tidak ada sama sekalistdout
. Jadi file sedang ditimpa dengan void, pada dasarnya menghapus data sebelumnya jika ada.Cara termudah adalah memotong file adalah dengan mengarahkan ulang output dari perintah no-op shell (
:
) ke file yang ingin Anda hapus.sumber
>
) tetapi yang tercepat pasti .. saya ingin tahu mengapa itu tidak disebutkan dalam salah satu jawaban dari pertanyaan ini sangat dilihat .. di sini, ambil +1 ..Saya juga akan menggunakan pengalihan seperti jawaban rajagenupula. Tetapi ada sedikit lebih banyak fleksibilitas. Buka terminal dan ketik,
Dan tekan Ctrl+ C. Ini akan menghapus file sebelumnya. Jika Anda ingin ini sejauh ini baik-baik saja.
Jika mau, Anda dapat melakukan sesuatu yang lebih setelah menghapus file. Dengan cara ini tidak hanya Anda dapat menghapus file tanpa membuka tetapi juga Anda dapat menulis beberapa baris dengan format yang tepat dalam file. Katakanlah Anda ingin menulis "Ubuntu adalah OS terbaik" setelah menghapus file, lakukan saja
Lalu tekan Ctrl+ C. Sekarang file sebelumnya dihapus. Pada saat yang sama kata-kata ada dalam dua baris seperti yang saya katakan.
Lihat contohnya:
sumber
>
singkatan redirection.cat > file
akan menulisstdout
ke file, menimpa file yang ada.Saya harus melakukan ini sepanjang waktu dengan file log. Cara termudah yang saya temukan adalah dengan perintah berikut:
Ini menghapus semua konten file, dan meninggalkan Anda dengan file kosong tanpa harus membukanya di editor, pilih teks, semua hal itu. Lebih khusus apa yang dilakukannya adalah mengganti isi file dengan isi "/ dev / null", atau tidak sama sekali. Sebenarnya cukup licin.
Satu-satunya peringatan adalah bahwa pengguna saat ini Anda masuk harus memiliki izin menulis ke file tersebut.
sumber
Jika file dibuat dengan nama hello.txt dan diberikan beberapa teks maka perintah di bawah di terminal ctrl+ alt+ takan menghapus semua teks dalam file hello.txt ,
sumber
Pendekatan lain -
cp
yang/dev/null
ke filesumber
Bukan jawaban terpendek tapi ...
Jawaban ini didasarkan pada yang lain dari Pengguna Super . Meskipun bukan perintah bash terpendek,
truncate
adalah yang paling mudah dibaca untuk pemula rata-rata:Parameter yang digunakan dengan
truncate
perintah di sini:Hapus semuanya kecuali 10.000 byte pertama
Keuntungannya
truncate
adalah Anda dapat menentukan berapa banyak yang harus disimpan, bukan hanya nol:... akan memotong segalanya setelah 10.000 byte pertama. Ini bisa berguna jika program menjadi gila dan membuang banyak Megabita data ke file log kecil:
truncate
perintah untuk ukuran normal yang lebih besar yaitu 10Ksumber
Jadi, saya melihat banyak pengalihan digunakan untuk menjawab ini;)
Pendekatan yang sedikit berbeda dengan kombo: rm & touch
( yeah ... lagi cheat! )
Jadi dengan perintah ini kombo file hello.txt tidak dibuka dan pada akhirnya Anda masih memiliki file hello.txt sebagai gantinya dengan konten yang dihapus. Sama seperti yang Anda inginkan!
sumber
bekerja yang terbaik untuk saya karena izin khusus yang dimilikinya
sumber
vi
dan apa yang dilakukan berbagai parameter dan argumen.