Editör açmadan bir metin dosyasına satır ekleme komutu


147

Bir editör açmadan bir dosyaya eklemek istediğim bir satır olduğunu varsayalım.

Bu satırı nasıl eklerim?

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

bu dosyaya

config.fish

Yanıtlar:


237

İşleci kullanarak bir dosyaya bir metin satırı ekleyebilirsiniz >>:

echo "hello world" >> my_file.txt

ya da senin durumunda

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

Lütfen farklı teklif türlerini not alın .


25
Kendimi echo kullanıyorum, ancak dikkatli olun, yalnızca birini belirtirseniz >dosya kesilecek, ekleyemezsiniz. daha güvenli bir komut için sed kullanabilirsiniz:sed -i '$a hello world' filename
ters çevir

12
açıklama: -idosyayı günceller (aksi takdirde sadece sonucu stdout'a basar), $dosyanın sonuna uyan regex olur ave aşağıdaki metni dosya adına ekler.
ters

echo "hello world" >> my_file.txtile yeni bir son satır oluşturmaz HW, ancak son satırın dizesine ekler.
Timo

Nedir HW@timo?
7wp

Belki "Merhaba Dünya" @ 7wp :) echoSatır sonu ekler (sadece birkaç karaktere karşılık bir satır yapar). Sonunda satır sonunu kapatabilirsiniz -n.
Stefano Palazzo

3

Metin düzenleyicileri açmadan, özellikle de Ubuntu'daki birden fazla metin işleme yardımcı programı aracılığıyla dosyaya eklemenin birçok yöntemi vardır.

  • 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

Stefano'nun cevabına ekleyerek , şunları da kullanabilirsiniz cat:

  • Heredoc kullanmak:

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

    <<'EOF'"Sadece bir çizgiye ulaşana kadar aşağıdakileri girdi olarak al" anlamına gelir EOF. Alıntılar tam anlamıyla girişi almak anlamına geliyor.

  • Veya stdin'de satır girişi:

    $ cat >> config.fish

    Ardından satıra yapıştırın veya yazın, Enteryeni bir satıra gitmek için tuşuna basın, ardından sonu işaretlemek için Ctrl + D tuşlarına basın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.