如何使用locate来搜索文件的父文件夹?


1

例如,我在此文件夹中有此文件

folder_x/folder_y/file1.txt

我想做这样的事情:

locate -xxxx file1.txt

得到这个

/folder_x/folder_y/

Answers:


0

您可以使用 目录名 从完整文件名中提取父文件夹的名称。

例如,如果它是单个文件,

 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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.