호스트 이름에서 텍스트를 추출합니다
문제
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
제휴하지 않습니다 StackOverflow