Ben değişkenin dışında alt dizeyi kaldırmak için çalışıyorum böyle sed kullanarak sed kullanarak:Çıkarma alt dize
fullpath="/media/some path/dir/helloworld/src"
rootpath=/media/some path/dir
böyle FullPath sadece dinlenme yankı istiyorum
PRINT_THIS="`echo "$fullpath" | sed 's/${rootpath}//' -`"
(Bu dizinin tamamını bir grupta kullanıyorum, bu yüzden değişkenler halinde depolamalıyım ve bunu otomatik olarak yapmalıyım ng değişken o
echo "Directory: $PRINT_THIS"
Sorun, ben alt dizeyi kaldırmak için sed alamayan olduğunu olurdu, ben yanlış yapıyorum?
sed "[email protected][email protected]@g" FILE
iki şey: Teşekkür
Teşekkür ederim, komik çünkü ben senaryoda başka bir yerde string manipülasyonunu kullandım ama bunu unutmuşum – rluks
$ rootpath'ın bir eğik çizgi ile bitip bitmediğini bilmiyorsanız: 'shopt -s extglob; echo "$ {fullpath ## $ rootdir * (/)}" ' –
Örneğim için kullanamıyorum, bir tane var =" branch_name_something "' ve 'two =" branch_name_ "'. Ben sadece $ birinden "bir şey" yazdıracağım. Yani, echo $ {# $ {two} one} 'ı denedim ama atıyordu: -bash: $ {# $ {two} one}: bad substitution'. Ne eksik olduğumu bilmiyorum –