加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 18:52:18 所属栏目:安全 来源:网络整理
导读:我在ksh脚本中使用find命令,而我正在尝试检索文件名,而不是完整的路径.像我一样,我希望它返回text.exe,而不是//severname/dir1/dir2/text.exe. 我该怎么办?为了澄清,我知道文件的目录,我只是抓住那些创建befoee一个ceetain日期,所以路径名不重要. 你可以这
我在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)到您的目标目录.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读