Bash bir dizeden ilk ve son karakterleri kaldırır
Benim de böyle bir ipim var:
|abcdefg|
Ve başında ve sonunda iki |
karakteri olmadan orijinal dizeyle bir şekilde (string2 gibi) çağrılan yeni bir dize almak istiyorum, böylece buna sahip olacağım:
abcdefg
Bu bash ile mümkün mü?
101
3
Yapabilirsin
Veya dize uzunluğunuz sabitse, şunu yapabilirsiniz
Ayrıca, bu işe yaramalı
Ayrıca bu
İşte dizenin uzunluğundan bağımsız bir çözüm (bash):
Ayrıca sed'i sadece sembolün kendisini referans alarak değil, konum referanslarını kullanarak da kaldırabilirsiniz:
Burada ':' sınırlayıcılardır (bunları / veya sorguda olmayan herhangi bir karakterle değiştirebilirsiniz, s'yi takip eden herhangi bir işaret bunu yapacaktır) Burada ^ (şapka) giriş dizesinin başında ve $ (dolar) sonunda anlamına gelir. İşaretten sonra gelen . (nokta) ve dolar işaretinden önce gelen . (nokta) tek bir karakteri temsil eder. Yani başka bir deyişle ilk ve son karakterleri siliyoruz. Bunun, dizede bulunmasa bile herhangi bir karakteri sileceğini unutmayın.
EX: