删除特殊字符和单词之间的字符

删除特殊字符和单词之间的字符

我做了很多研究,但似乎无法弄清楚。

我正在使用 sed 并尝试处理路径文件

/path/to/somewhere/for-something.rar

我需要删除最后一个 / 后面的所有内容,但不删除 / 本身。谁能帮我这个?我永远无法处理 sed 哈哈

答案1

使用dirname

path=/path/to/somewhere/for-something.rar
dir="$(dirname $path)/"

或者使用外壳:

dir="${path%\/*}/"

输出:

$ echo "$dir"
/path/to/somewhere/

答案2

要在文件路径中查找所有“/..../file.rar”并打印“/..../”,您可以使用旧的 grep ...

grep -Po '/\S+/(?=\S+\.rar\b)' file-of-paths

相关内容