总有没有打印并输出到find命令而不在输出中列出find目录的地方?如果我发出
find /home/people/name -type f -name >> /output/log/output.txt
日志中的输出写为:
/home/people/name/filename1.txt
/home/people/name/filename2.txt
/home/people/name/filename3.txt
我想要的只是没有目录名称的文件名吗?有可能吗?
答案 0 :(得分:1)
如您所见,默认情况下,find
打印完整路径:
$ find /home/people/name -type f
/home/people/name/filename1.txt
/home/people/name/filename3.txt
/home/people/name/filename2.txt
但是, find
确实使用-printf
提供了对输出的控制。要仅获取文件名,没有路径,请尝试:
$ find /home/people/name -type f -printf '%f\n'
filename1.txt
filename3.txt
filename2.txt
%f
告诉find
您想要不带路径的文件名。 \n
告诉find
,每个文件名后都需要换行符。
输出当然可以保存在文件中
$ find /home/people/name -type f -printf '%f\n' >output.txt
$ cat output.txt
filename1.txt
filename3.txt
filename2.txt