【问题标题】:Remove root directory from filename in linux从linux中的文件名中删除根目录
【发布时间】:2019-07-03 07:49:22
【问题描述】:

我想分割这条线

/home/edwprod/abortive_visit/bin/abortive_proc_call.ksh

/edwprod/abortive_visit/bin/abortive_proc_call.ksh

我可以为此使用 sed 或 awk 命令吗?

【问题讨论】:

标签: linux unix


【解决方案1】:
echo '/home/edwprod/abortive_visit/bin/abortive_proc_call.ksh' | sed  's@^/[^/]\+@@'

解释词:使用sed的replace函数,我们将分隔符,通常是/,重新定义为@,省去了字符串中斜线的转义。我们将正则表达式锚定在^ 行的开头,并替换第一个斜线,然后是任何非斜线,什么都没有,从而删除路径的第一个元素(不是根,顺便说一句)。

【讨论】:

    【解决方案2】:

    你不需要 awk 或 sed ,试试这个

    echo -n "/"; echo "/home/edwprod/abortive_visit/bin/abortive_proc_call.ksh" |cut -f3-6 -d/
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-20
      • 2018-04-11
      • 2015-01-31
      • 2014-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多