Saya ingin memasukkan teks di bagian atas file yang sudah ada. Bagaimana saya bisa mencapai ini. Saya mencoba echo
dan tee
tetapi tidak berhasil.
Saya mencoba memasukkan baris repo di bagian atas sources.list
file dari terminal.
Catatan
Saya memerlukan solusi cepat satu baris, karena metode jawaban lain sudah saya kenal
apt
command-line
bash
Anwar
sumber
sumber
echo "deb http://extras.ubuntu.com/ubuntu precise main" | sudo tee -a /etc/apt/sources.list
- Anda juga perlu sudo sebelum tee untuk mendapatkan hak istimewa admin. Tetapi mengapa Anda ingin menambahkan sesuatu di bagian paling atas dari sources.list?Jawaban:
Ini sebenarnya cukup mudah dengan
sed
:sed -i -e '1iHere is my new top line\' filename
1i
memberitahu sed untuk menyisipkan teks yang mengikuti pada baris 1 file; jangan lupa\
baris baru di akhir sehingga baris 1 yang ada dipindahkan ke baris 2.sumber
s
alih-alih saya masuk1i
.echo "Text Here" >> Filename
Dalam editing umum di tempat dengan script rumit, tetapi Anda dapat menggunakan
echo
dancat
kemudianmv
Namun jika Anda bermain dengan sources.list, Anda perlu menambahkan beberapa validasi dan anti peluru untuk mendeteksi kesalahan dll karena Anda benar-benar tidak ingin kehilangan ini. Tapi itu pertanyaan terpisah :-)
sumber
diketahui bahwa itu
prepend
adalah shell khusus saya :Gunakan juga jalur relatif atau jalur absolut, seharusnya berfungsi dengan baik:
Perbarui:
jika Anda ingin skrip permanen untuk ini, buka
nano /etc/bash.bashrc
lalu tambahkan fungsi ini di akhir file:Buka kembali terminal Anda dan nikmati:
sumber
Dan mengapa tidak menggunakan editor teks asli untuk itu? ed adalah editor teks standar.
Atau, jika Anda ingin perintah lebih mudah dibaca:
1
: buka baris pertamai
: memasukkan mode.
: berhenti memasukkan, kembali ke mode normalwq
: tulis dan berhenti, terima kasih, selamat tinggal.sumber
FIRST LINE
) dengan ini?first_line
maka:ed -s filename < <(printf '%s\n' 1i "$first_line" . wq)
. Pastikan variabel tidak meluas ke satu titik, dan tidak mengandung karakter baris baru (jadi bersihkan jika berasal dari input pengguna).Selalu ada
awk
opsi. Gantistring
variabel dengan konten Anda. Namun ini bukan perubahan di tempat. Secara pribadi, saya cenderung tidak melakukan perubahan di tempat. Ini jelas merupakan preferensi pribadi. Dua hal,-v
menandakan suatu variabel dalam awk dan variabeln
digunakan di sini untuk mencocokkan nomor baris, secara efektifNR == 1
. Anda dapat menggunakan ini dalam sejumlah cara apa pun hanya dengan mengubah nilain
dans
.Contoh:
sumber
Anda dapat menggunakan Vim dalam mode Ex:
1
pilih baris 1i
masukkan baris teks barux
Simpan dan tutupsumber