提取主机名的文本(Extract text from hostname)

2019-10-17 04:19发布

使用OS X,我需要一个行bash脚本来看看客户端MAC地址的主机名,如:12345-BA-学龄前儿童LT.local

其中,前5位中的资产序列号和连字符从部门名称,然后像“LT”来表示一台笔记本电脑分离的业务单位代码。

我想我需要呼应的主机名和使用的sed,awk的组合,也许削减剥离出来的字符离开我:
“BA幼儿教师的”

任何帮助非常赞赏。 这是我到目前为止有:

echo $HOSTNAME | sed 's/...\(...\)//' | sed 's/.local//'

Answer 1:

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

(不是在OSX,所以不知道切的定义)



Answer 2:

我喜欢让事情变得简单:)

你可以用刚切做到这一点:

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


Answer 3:

怎么样

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


Answer 4:

AWK可以轻松解决你的问题。

echo "12345-BA-PreSchool-LT.local" | awk -F'-' '$0=$2" "$3'
BA PreSchool


Answer 5:

bash$ string="12345-BA-PreSchool-LT.local"
bash$ IFS="-"
bash$ set -- $string
bash$ echo $2-$3
BA-PreSchool


文章来源: Extract text from hostname