请检查以下命令以供参考
Rinku@Akash ~/test
$ find . -type f -name "autosys*"
./autosys1.txt
./autosys2.txt
我不希望将源路径添加到找到的文件名中。
答案1
find
输出所有以源路径作为前缀的匹配文件。与之比较:
find $PWD -type f -name "autosys*"
答案2
因为find
s 入口点.
实际上是您的pwd
.如果入口点是例如,/
那么路径的这一部分将被添加到您的前面,pwd
如下所示:
$ find / -type f -name "autosys*"
/path/from/root/to/$HOME/to/pwd/autosys1.txt
答案3
您可以通过传递文件名来去除路径的前导部分sed
。
find . -type f -name "autosys*" | sed 's!^\./!!'
对于包含嵌入换行符的文件,这将失败;如果这是一个问题,您需要考虑替代解决方案。但是,由于./
是路径名的有效组成部分并且没有任何作用,因此删除它在技术上没有任何好处。 (不过,它看起来确实更好。)