我是shell脚本的新手。我需要从下面的绝对路径中获取值“test”并打印出来。如何使用SED命令实现这一目标。请帮忙。
的/ home /路径/ test_script /日志
答案 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