Bir dizeyi joker karakterle değiştirmek istiyorum ancak çalışmıyor.SED ile joker karakterini kullanarak
dize "Bazı-string-8"
Ben
sed -i 's/string-*/string-0/g' file.txt
yazdı gibi görünüyor ama çıkış
some-string-08
Bir dizeyi joker karakterle değiştirmek istiyorum ancak çalışmıyor.SED ile joker karakterini kullanarak
dize "Bazı-string-8"
Ben
sed -i 's/string-*/string-0/g' file.txt
yazdı gibi görünüyor ama çıkış
some-string-08
yıldız olan (*) "sıfır veya daha fazlasını ifade eder önceki öğe ". Eşleşmesini isterseniz herhangi bir dize maç için (yani herhangi bir tek karakteri sıfır veya daha fazla kez) istiyorsanız
herhangi bir tek karakteri Yani
sed -i 's/string-.*/string-0/g' file.txt
, kavramı kullanmak
sed -i 's/string-./string-0/g' file.txt
kullanmak Normal İfadelerde bir "joker" biraz farklı çalışır. "Herhangi bir karakteri" eşleştirmek için "." "*" Değiştirici, herhangi bir sayıda eşleşme anlamına gelir.
iyi, belki benim sorum tamamlanmamıştı .... senin emriniz bu fien için çalışıyor. Ancak eğer bazı-string-8 -x -command acommand'm varsa, bu komutu yürütme çıktısı '' string-0 '' dır. bundan sonra tüm karakterleri siler. Ben istiyorum bazı string-0 -x - komut acommand' – mahmood
Tamam ilk komut ne istediğimi – mahmood
ne joker yedek dizede kullanmak istiyorsanız ne? örnek: 'AAA ile değiştirin. * BBB' ile 'CCC. * DDD' – user2561747