Perintah untuk menambahkan baris ke file teks tanpa membuka editor


147

Dengan asumsi saya memiliki garis yang ingin saya tambahkan ke file tanpa membuka editor.

Bagaimana saya bisa menambahkan baris ini

alias list='ls -cl --group-directories-first'

ke file ini

config.fish

Jawaban:


237

Anda dapat menambahkan baris teks ke file dengan menggunakan >>operator:

echo "hello world" >> my_file.txt

atau dalam kasus Anda

echo "alias list='ls -cl --group-directories-first'" >> config.fish

Harap perhatikan berbagai jenis kutipan .


25
Saya menggunakan echo sendiri, tetapi hati-hati, jika Anda hanya menentukan satu >maka file akan terpotong, bukan ditambahkan. untuk perintah yang lebih aman, Anda dapat menggunakan sed:sed -i '$a hello world' filename
invert

12
penjelasan: -iakan memperbarui file (jika tidak hanya akan mencetak hasilnya ke stdout), $adalah regex yang akan cocok dengan akhir file, dan amenambahkan teks berikut ke nama file.
Balikkan

echo "hello world" >> my_file.txttidak membuat baris terakhir baru dengan HW, tetapi menambahkannya ke string baris terakhir.
Timo

Apa itu HW@timo?
7wp

Mungkin "Hello World" @ 7wp :) Ini echoyang menambahkan jeda baris (menjadikannya garis yang bertentangan dengan hanya sekelompok karakter). Anda dapat mematikan jeda baris di akhir dengan -n.
Stefano Palazzo

3

Ada banyak metode menambahkan file tanpa membuka editor teks, terutama melalui beberapa utilitas pemrosesan teks yang tersedia di Ubuntu.

  • tee -a config.fish <<< "alias list='ls -cl --group-directories-first'"
  • awk 'BEGIN{ printf "alias list=\x27ls -cl --group-directories-first\x27\n" >> "config.fish" }'
  • sed -i '$a alias list='"'"'ls -cl --group-directories-first'"'" config.fish

1

Menambahkan ke jawaban Stefano , Anda juga dapat menggunakan cat:

  • Menggunakan heredoc:

    $ cat >> config.fish <<'EOF'
    > alias list='ls -cl --group-directories-first'
    > EOF
    

    <<'EOF'berarti "ambil yang berikut ini sebagai input, sampai Anda mencapai garis yang adil EOF". Kutipan berarti mengambil input secara harfiah.

  • Atau memasukkan baris pada stdin:

    $ cat >> config.fish

    Lalu rekatkan atau ketik baris, tekan Enteruntuk pergi ke baris baru, lalu tekan Ctrl + D untuk menandai akhir.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.