我尝试从以下字符串中提取主机名(使用我是谁创建):
username pts/0 2010-10-05 17:30 (www.example.com)
我需要一个解决方案,如果(www.example.com)不存在,也可以在我本地登录时使用.此外,该解决方案还必须在Mac上工作,我将返回以下字符串:
username ttys006 Oct 5 16:47 (www.example.com)
问题是,mac在日期中放置空格,这使得难以使用剪切.我认为,必须有一个解决方案使用sed来提取子字符串,但我有问题找出如何恰当地使用sed.
更新:Mad的方法
只有存在实际括号时,此方法才有效.如果不是,会发生以下情况:
$who am i | cut -f2 -d '(' | tr -d ')' username ttys006 Oct 5 16:47
解决方法
这是awk最好的工具. awk -F“[()]”'{print $2}’应该取出括号中的内容.如果不存在则不打印.所以…
$是谁我是谁awk -F“[()]”'{print $2}’
www.example.com
– 克里斯托弗卡雷尔