只显示当前目录,而不是所有路径,并在makefile中使用它们来压缩C++中的tar。
在Linux和Unix系统中,可以使用以下命令来只显示当前目录而不显示完整路径:
find . -maxdepth 1 -type f -printf "%f\n"
解释:
find
:查找文件和目录的命令。.
:表示当前目录。-maxdepth 1
:限制查找深度为1,即只在当前目录下查找。-type f
:只查找文件,而不包括目录。-printf "%f\n"
:输出文件名(包括扩展名),%f
表示文件名。通过上述命令,可以获取到当前目录下的所有文件名。
接下来,在makefile中使用这些文件名来压缩C++中的tar,可以使用以下规则:
compress:
tar -czf archive.tar.gz $(shell find . -maxdepth 1 -type f -printf "%f\n")
解释:
compress
:自定义的makefile规则名称。tar -czf archive.tar.gz
:使用tar命令压缩文件为tar.gz格式,archive.tar.gz
是压缩文件的名称。$(shell find . -maxdepth 1 -type f -printf "%f\n")
:使用shell命令执行find命令,并将结果作为makefile变量的值。这里的find命令同样是用来获取当前目录下的所有文件名。推荐的腾讯云相关产品:无特定推荐产品与该问题相关。
这里给出的是在Linux和Unix系统下的解决方案,对于其他操作系统可能会有所差异。
领取专属 10元无门槛券
手把手带您无忧上云