【问题标题】:Using SED command to get values from absolute path使用 SED 命令从绝对路径中获取值
【发布时间】:2016-09-24 01:38:21
【问题描述】:

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

/home/path/test_script/logs

【问题讨论】:

    标签: shell unix


    【解决方案1】:

    在我看来,awk 在这项任务中表现得更好。使用 -F 可以使用多个分隔符,例如“/”和“_”:

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

    【讨论】:

      【解决方案2】:

      sed 代码首先删除_ 及其右侧 的内容,然后删除/s 及其左侧 的内容,只留下“测试”

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

      输出:

      test
      

      【讨论】:

        【解决方案3】:

        你可以试试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`
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-03-12
          • 1970-01-01
          • 2022-06-10
          • 2011-02-07
          • 2012-10-25
          • 1970-01-01
          • 2012-08-27
          • 1970-01-01
          相关资源
          最近更新 更多