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

shell – 找到打印文件名,而不是完整的路径

我在ksh脚本中使用find命令,而我正在尝试检索文件名,而不是完整的路径.像我一样,我希望它返回text.exe,而不是//severname/dir1/dir2/text.exe.

我该怎么办?为了澄清,我知道文件的目录,我只是抓住那些创建befoee一个ceetain日期,所以路径名不重要.

你可以这样做:
find ..... |sed 's#.*/##'

但是这真的有道理吗?如果有两个文件具有相同的文件名,但位于不同的目录,那么你如何区分呢?

例如

you are in /foo

/foo/a.txt
/foo/bar/a.txt

编辑

编辑答案以获得更好的文本格式.

正如您在评论中所述,所以你想

>找到一些文件,
>将它们复制到目录中,
gzip他们到档案说a.gz
>仅当步骤2成功时,才能删除复制的文件

这可以一次完成:

find ...|xargs tar -czf /path/to/your/target/a.gz

这将找到文件,使tar(a.gz)到您的目标目录.

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

相关推荐