我需要一个 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/