2016-09-23 86 views
0

我刚刚接触shell脚本。我需要从下面的绝​​对路径中获取“测试”值并打印出来。如何使用SED命令来实现这一点。请帮忙。使用SED命令从绝对路径获取值

/家庭/路/ test_script /日志

回答

0

你可以试试awk命令:

echo /home/path/test_script/logs | awk -F"/" '{print $4}' | cut -c1-4 

输出应该是 '测试'。 您也可以通过执行下面的“测试”值赋值给一个变量:

var1=`echo /home/path/test_script/logs | awk -F"/" '{print $4}' | cut -c1-4` 
0

sed代码先删除_,什么是对的正确,那么/ S和什么的那些,只留下“测试”

echo /home/path/test_script/logs | sed 's/[_].*//;s,.*/,,g' 

输出:

test 
1

在我看来AWK更好地执行这项任务。使用-F可以使用多个分隔符,如“/”和“_”:

echo /home/path/test_script/logs | awk -F'/|_' '{print $4}'