前端之家收集整理的这篇文章主要介绍了
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)到您的目标目录.