Sed ile Bash takma ad çalışmıyor


3

Bu takma adı neden çalışmadığını bilen var mı?

alias tailsed="tailf error.log | sed -e 's/\\n/\n/g' -e 's/\\t/''/g'"

Tek tırnakları çiftlerle değiştirmeyi denedim, öyle ki:

alias tailsed='tailf error.log | sed -e "s/\\n/\n/g" -e "s/\\t/""/g"'

Ancak pipo komutu, yalnızca çalıştırıldığında olduğu gibi doğru şekilde ayrıştırmıyor.


a) ilk örneğinizde olduğu gibi sed'nin etrafında tek tırnaklar kullanmalısınız ve çift alıntı için olduğu gibi, ne yaparsanız \ b? d22
barlop

Yanıtlar:


4

İşlevler tüm bu alıntı cehennemini kaldırır:

tailsed() { tailf error.log | sed -e 's/\\n/\n/g' -e 's/\\t//g'; }

Ah, bash_aliases dosyasının içine işlevler ekleyebileceğinizi bilmiyordum. Harika çalışıyor, teşekkürler!
Ken

Bash başlangıç ​​komut dosyaları sadece bash komut dosyalarıdır, oraya her şeyi koyabilirsiniz.
glenn jackman
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.