打印模式的最后一个字

打印模式的最后一个字

我想打印以下模式的最后一个单词,例如 /rahul/file.txt --> file.txt 必须打印,如果模式是 /rahul/sample/file1.txt --> file1.txt 必须打印。

最简单的方法是使用基本名称,但这不适用于我的詹金斯。还有其他方法可以做到这一点吗

答案1

csh,tcshzsh, 如果$var包含/path/to/file, 则$var:t扩展为尾巴$var, 所以file.

你会得到类似的东西vim

那些:h(头),:t(尾),:r(根),:e(扩展)修饰语也可用于历史扩展(csh、tcsh、bash、zsh)和zsh.

/请注意,对于、//或等值的实现之间的行为存在一些差异/some/dir/

对于其他 shell,您始终可以使用以下basename命令:

basename -- "$var"

将输出尾巴$var也是如此。

您可以将其存储在另一个变量中:

other_var=$(basename -- "$var")

$var(但请注意,如果以换行符结尾,它将无法正常工作)。

使用 POSIX shell,${var##*/}将扩展到 的内容,$var并删除最右边的所有内容/

无论如何,你的詹金斯问题可能不相关,并且可能取决于您如何执行解释您要运行的命令的 shell。

相关内容