Asıl soru şu ki - M-BM-
başka karakterleri kaybetme riski olmadan özel karakteri nasıl kaldıracağınız hakkında bir fikri olan var mı?
Bir metin dizesi var:
" . . ."
yani
space dot space dot space dot
Metin dosyasında bu dizenin tüm oluşumunu değiştirmek için çalışıyorum
"..."
yani
dot dot dot
Sed ile yapmaya çalışıyordum:
sed -r 's:\s\.\s\.\s\.:...:g' -i sed-dots
Ne yazık ki, giriş dosyasını biraz değiştirmez. Dosya: https://www.dropbox.com/s/46zmiruy3ln85a1/sed-dots
Metin düzenleyicide aynı dizeyi değiştirmeye çalıştığımda (geany kullanıyorum) bulunur ve düzgün bir şekilde değiştirilir.
Düşünebilmemin tek nedeni, bu alanların bazılarının (veya hepsinin) gerçekten boşluklar değil, özel bir karakter olmasıdır.
Herkes bu dizeyi sed (veya başka bir komut satırı aracı) ile bulma ve değiştirme hakkında bir fikri var mı? Lütfen fikrimi dosyamda test et, çünkü sorun göründüğü kadar açık değil - bu yüzden sordum.
cat -A
Dosyamı kullandıktan sonra , bu boşlukların boşluk değil, M-BM-
özel karakter olması sorun gibi görünüyor . .
Arama için önerilen herhangi bir sembolün kullanılması iyi bir fikir değildir, çünkü diğer bazı karakterlerin kaldırılması riski vardır.
echo
En azından bir dosyayı cat ettiğinizde, kabuğun hiçbir şeyi yorumlamadığını ve hiçbirinin yankı olmadığını bildiğinizde, bir dosyayı oluşturmak yerine kullanmanızı önermekten şaşırdım .