【发布时间】:2017-03-26 04:24:28
【问题描述】:
我写下这段代码来查找特定目录。
read dir
find -type d | grep $dir
我想检查文件夹中是否存在 $dir。 如何检查特定目录名称的存在??
【问题讨论】:
标签: regex bash shell unix grep
我写下这段代码来查找特定目录。
read dir
find -type d | grep $dir
我想检查文件夹中是否存在 $dir。 如何检查特定目录名称的存在??
【问题讨论】:
标签: regex bash shell unix grep
列出所有目录并查找所需的目录。
ls -d */ 用于列出目录
grep name_of_directory用于搜索目录名称
ls -d */ | grep name_of_directory
目录不存在时显示消息。
ls -d */ | grep name_of_directory | if [ $(wc -L) -eq 0 ]; then echo "Directory not found!"; fi;
【讨论】:
如果我理解正确,您想验证$dir 是否是当前目录中的目录名称。如果是这样,我认为最简单的检查方法是使用test 或[ 命令:
if [ -d "$dir" ]; then
echo "$dir is a directory"
else
echo "$dir is not a directory"
fi
查看man test了解更多信息。
【讨论】:
您可以使用 find 或 locate util 来搜索目录。
find的使用信息:
find path pattern
查找命令以定位目录:
find / -type d -name curl
或
find /dir/path/look/up -name "dir-name-here"
这将列出目录中的文件。
find / -type d -name "apt" -ls
“/”是查看位置,在这种情况下,“/”是整个系统,或者您可以指定特定的目录路径。
name 可以是 -iname 以忽略大小写
also -type 不是强制性的
其他命令是 locate ,很简单:
locate curl
【讨论】: