例如我在这个文件夹中有这个文件
folder_x/folder_y/file1.txt
我想做这样的事:
locate -xxxx file1.txt
并得到这个
/folder_x/folder_y/
答案1
您可以使用目录名从完整文件名中提取父文件夹的名称。
例如,如果是单个文件,
dirname $(locate myuniquefile)
如果有多个答案,您可以处理每个单独的条目...
例如使用awk构建命令并将输出传送到 bash shell。
locate \.mp3 | awk '{print "dirname \""$0"\""}' | /bin/bash
和现代的bash 你也可以使用其他构造这里是字符串一:
/bin/bash <<< $(locate \.mp3 | awk '{print "dirname \""$0"\""}' )
注意:出于安全原因(特洛伊木马)使用完整路径来调用命令是一种很好的做法:所以/bin/bash
比简单地说更好bash
。