s:$:__:
s:...:& :g
s: _*$::
Çevrimiçi deneyin!
Sed'in bir falsy değerinin anlamı olmadığı için boş dize girişi ile ilgili biraz zorlaşır. Bu yüzden, bununla başa çıkmak için, sunumumu doğrulamak için size kuralların iki olası yorumunu sunuyorum:
C. Esasen girdi olarak hiçbir şey sağlamazsınız, sondaki satırsonu bile değil (bu 6 Mb dosyası dahil tüm örneklerde olduğu gibi).
Kullanımı:
echo -n ""|sed -f script
Çıktı: hiçbir şey yazdırılmaz, çünkü sed komut dosyasını girdi olmadan çalıştırmaz.
B. sed için benzersiz bir dize olarak falsy değeri olarak düşünülebilir, yani yalnızca girdi boş bir dize olduğunda döndürülebilir.
Kullanımı:
echo ""|sed -f script
Çıktı:
__
İlk yorumu daha çok tercih ediyorum, çünkü amaçlanan kurala en yakın olduğuna inanıyorum, ancak sonuncusu bu TIO bağlantısını kullanarak komut dosyasını çalıştırırsanız yardımcı olur.