غير قادر على كتابة تعبير عادي مناسب لإزالة مسافات متعددة
-
14-11-2019 - |
سؤال
$ echo "Anirudh Tomer" | sed 's/ +/ /g'
Anirudh Tomer
كنت أتوقع أن إزالة تلك المسافات 3 بين أنيرود وتومر وتعطيني نتيجة كما "Anirudh Tomer"
أنا مبتدئ.شكرا مقدما على المساعدة.
المحلول
تحتاج إلى تمكين دعم التعبير العادي الموسعة سيد مع -r
العلم.
echo "Anirudh Tomer" | sed -r 's/ +/ /g'
في التعبيرات العادية الموسعة ، فإن ?
, +
و |
يجب عدم الهروب من الأحرف الأولية (انظر ويكيبيديا).ال *
يعمل الحرف الأولي لأنه ينتمي إلى التعبيرات العادية الأساسية.
نصائح أخرى
على غرار فيم التعبير العادي ، تحتاج إلى الهروب من +
محدد كمي مع شرطة مائلة للخلف:
sed 's/ \+/ /g'
giveacodicetagpre.
لا تنتمي إلى StackOverflow