Shell 命令删除第一个用斜杠括起来的字符串

Shell 命令删除第一个用斜杠括起来的字符串

我需要一个 shell 命令(首选 sed 或 awk)来删除斜杠内的字符串。

例如,如果我的字符串是,/some/dir/example/那么输出应该是dir/example/

答案1

 $ string=/some/dir/example/
 $ printf '%s\n' "${string#/*/}"
 dir/example/

这是 POSIX shell 语法。

答案2

sed你一起可以做到:

INPUT | sed 's|^/[^/]*/||'

但这仅对于文件类型数据是必需的 - 对于 shell 参数,您已经得到了答案。

答案3

通过awk

$ echo '/some/dir/example/' | awk -F'/' -v OFS='/' '{ print $3,$4FS}'
dir/example/

或者

$ echo '/some/dir/example/' | awk -F'/' '{ print $3FS$4FS}'
dir/example/

相关内容