在Linux中从文件名中删除根目录

时间:2019-02-09 04:09:17

标签: linux unix

我想分割这一行

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

/edwprod/abortive_visit/bin/abortive_proc_call.ksh

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

2 个答案:

答案 0 :(得分:0)

您不需要awk或sed,只需尝试一下

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

答案 1 :(得分:-1)

echo '/home/edwprod/abortive_visit/bin/abortive_proc_call.ksh' | sed  's@^/[^/]\+@@'

解释性词:使用sed的replace函数,我们将通常为/的分隔符重新定义为@,从而使我们在字符串中避免了斜杠的转义。我们将正则表达式锚定在行^的开头,并替换第一个斜杠,然后替换任何非斜杠,不添加任何内容,从而删除路径的第一个元素(而不是根,btw)。