سؤال

وعن طريق OS X، ولست بحاجة السيناريو باش سطر واحد للنظر في لجنة الهدنة العسكرية المضيف العميل مثل: 12345-BA-مرحلة ما قبل المدرسة، LT.local

وأين الأرقام 5 الأولى هي الرقم التسلسلي الأصول، والواصلات فصل رمز وحدة الأعمال التجارية من اسم قسم تليها شيء من هذا القبيل "LT" للدلالة على جهاز كمبيوتر محمول.

وأعتقد أنني في حاجة إلى ترديد اسم المضيف واستخدام مزيج من الحوار الاقتصادي الاستراتيجي، AWK وربما قطع لتجريد الشخصيات من أن يتركني مع:
"BA مرحلة ما قبل المدرسة"

وأي مساعدة بتقدير كبير. هذا ما لدي حتى الآن:

echo $HOSTNAME | sed 's/...\(...\)//' | sed 's/.local//'
هل كانت مفيدة؟

المحلول

 echo "12345-BA-PreSchool-LT.local" | cut -d'-' -f2,3 | sed -e 's/-/ /g'

و(ليس على OSX، لذلك لست متأكدا إذا تم تعريف قطع)

نصائح أخرى

وأود أن تبقي الأمور بسيطة:)

ويمكنك أن تفعل ذلك مع قطع فقط:

echo 12345-BA-PreSchool-LT.local | cut -d"-" -f2,3
BA-PreSchool

إذا كنت ترغب في إزالة الواصلة يمكنك استخدام آر

echo 12345-BA-PreSchool-LT.local | cut -d"-" -f2,3 | tr "-" " "
BA PreSchool

وماذا عن

echo $HOSTNAME | awk 'BEGIN { FS = "-" } ; { print $2, $3 }'

وAWK يمكن حل المسألة بسهولة.

echo "12345-BA-PreSchool-LT.local" | awk -F'-' '$0=$2" "$3'
BA PreSchool
bash$ string="12345-BA-PreSchool-LT.local"
bash$ IFS="-"
bash$ set -- $string
bash$ echo $2-$3
BA-PreSchool
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top