使用SED命令从绝对路径获取值

时间:2016-09-23 00:23:27

标签: shell unix

我是shell脚本的新手。我需要从下面的绝​​对路径中获取值“test”并打印出来。如何使用SED命令实现这一目标。请帮忙。

的/ home /路径/ test_script /日志

3 个答案:

答案 0 :(得分:1)

在我看来, awk 可以更好地执行此任务。使用-F可以使用多个分隔符,例如" /"和" _":

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

答案 1 :(得分:0)

您可以尝试使用awk命令:

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

您的输出应为'test'。 您还可以通过执行以下操作将“test”值分配给变量:

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

答案 2 :(得分:0)

sed代码首先删除_以及正确的内容,然后是/以及左边的内容< / em>的那些,只留下“test”

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

输出:

test