微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在linux docker容器中使用文件名模式获取多个文件的基名

如何解决如何在linux docker容器中使用文件名模式获取多个文件的基名

我的容器文件夹中的一个目录中有多个具有相同名称模式的文件

/report/tsl_report_20210604.csv
/report/tsl_report_20210604.zip

我正在尝试列出并获取基本名称。所以输出应该是这样的:

tsl_report_20210604.csv
tsl_report_20210604.zip

我正在使用命令 ls report/tsl_report_* | xargs basename -a 2>&1,它在我的本地 Mac 机器上运行良好,但在容器中运行相同的命令时,我得到以下 o/p:

BusyBox v1.25.1 (2018-05-30 19:58:18 GMT) multi-call binary.

Usage: basename FILE [SUFFIX]

Strip directory path and .SUFFIX from FILE

我不知道为什么它在容器中不起作用。任何人都可以指出。

谢谢,

解决方法

作为busybox一部分的basename的精简版本,您可以通过以下方式实现相同的结果:

选项 1:

(apropos "foo")

选项 2:

ls report/tsl_report_* | xargs -n1 basename 2>&

选项 3:

$ for x in report/tsl_report_*; do basename $x ;done
tsl_report_20210604.csv
tsl_report_20210604.zip

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。