【发布时间】:2019-07-21 21:05:38
【问题描述】:
当尝试查找具有特定扩展名的某些文件时,例如 .*c
如果我输入下面的代码
find folder1 -type f -name '*c'
结果就像
folder1/filename1.c
folder1/filename2.c
如果我只想要文件名,不包括如下文件的目录,我将如何更改代码?
filename1.c
filename2.c
【问题讨论】:
当尝试查找具有特定扩展名的某些文件时,例如 .*c
如果我输入下面的代码
find folder1 -type f -name '*c'
结果就像
folder1/filename1.c
folder1/filename2.c
如果我只想要文件名,不包括如下文件的目录,我将如何更改代码?
filename1.c
filename2.c
【问题讨论】:
来自man find 下的-printf 选项您会看到:
%f File's name with any leading directories removed (only the last element).
使用它:
find folder1 -type f -name '*.c' -printf '%f\n'
附注小心图案。你想要*.c,而不是.*c 或*c。
【讨论】:
你可以像这样通过管道将它传递给awk 命令
find folder1 -type f -name '*.c' | awk -F '/' '{ print $NF }'
【讨论】: