غير قادر على كتابة تعبير عادي مناسب لإزالة مسافات متعددة

StackOverflow https://stackoverflow.com/questions/5007363

  •  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.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top