문제

OS X를 사용하면 클라이언트 Mac 호스트 이름과 같은 한 줄의 bash 스크립트가 필요합니다.

처음 5 자리는 자산 일련 번호이고 하이픈은 사업 단위 코드를 부서 이름과 분리 한 다음 'lt'와 같은 랩탑을 나타냅니다.

나는 호스트 이름을 반향하고 SED, AWK, 아마도 캐릭터를 벗겨 내기 위해 잘라 내기 위해 다음을 떠나야한다고 생각합니다.
"Ba Preschool"

도움이 주셔서 감사합니다. 이것이 내가 지금까지 가지고있는 것입니다.

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

하이픈을 제거하려면 TR을 사용할 수 있습니다.

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