我的输出如下所示:
Tag: abrodov_linux_vlsi07_test1
Global path: /net/vposeidon02/vlsifs/vlsi02/vlsi_ccstore/07/abrodov/abrodov_linux_vlsi07_test1.vws
Server host: ta1vlsi07
Region: tlv_unix
Active: YES
View tag uuid:26075e8c.4e2e11e4.9cc0.a4:ba:db:3c:fc:0e
View on host: ta1vlsi07
View server access path: /net/vposeidon02/vlsifs/vlsi02/vlsi_ccstore/07/abrodov/abrodov_linux_vlsi07_test1.vws
View uuid: 26075e8c.4e2e11e4.9cc0.a4:ba:db:3c:fc:0e
View owner: abrodov我需要得到服务器主机,在本例中是ta1vlsi07。
为了获得View,我编写了一些有效的命令,但在本例中,它没有工作,下面是命令:
ct lsview -l abrodov_linux_vlsi07_test1 |grep -i 'Server host:' | cut -d" " -f3我得到的输出是Server,而不是主机名。
发布于 2014-10-13 07:24:26
如果它支持-P参数,可以在一个grep命令中这样做。
ct lsview -l abrodov_linux_vlsi07_test1 | grep -oP 'Server host:\s*\K\S+'解释:
Server host:与字符串Server host:匹配。\s*匹配零或多个空格。\K从打印中丢弃以前匹配的字符。所以在我们的例子中,Server host:加上下面的空格被丢弃了。\S+现在将匹配并打印出以下一个或多个非空格字符。发布于 2014-10-13 07:20:57
这是因为这条线开始的时候有前导空间。
使用
ct lsview -l abrodov_linux_vlsi07_test1 |grep -i 'Server host:' | cut -d" " -f5产出量
ta1vlsi07另外,如果您并不总是确定前导空格的数量,那么请使用
ct lsview -l abrodov_linux_vlsi07_test1 | grep -o 'Server host:.*' | cut -d" " -f3-o选项选择字符串中匹配的部分。
发布于 2014-10-13 08:04:07
如果需要更短、更快的命令版本,可以使用awk
$ ct lsview -l abrodov_linux_vlsi07_test1 | awk '/Server host:/ {print $3}'https://stackoverflow.com/questions/26334670
复制相似问题