首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何执行使用for循环列出的目录列表的操作?

如何执行使用for循环列出的目录列表的操作?
EN

Stack Overflow用户
提问于 2014-06-18 12:30:53
回答 2查看 77关注 0票数 0

我正在做一次检查,看看目录是否存在于下面目录的列表中。下表列示。这是有关此类目录的唯一可用表。

user@root> cat u目录所有者值0-0-1-0 Aleks 10 0-0-2-0拉姆23 0-0-3-0马克43 0-0-4-0萨姆22 0-0-5-0木材21 彼得34 0-0-7-0罗恩45 0-0-8-0阿利奇44 0-0-9-0琥珀56 0-0-10-0 janny 34 user@root> cat u\grep -Ev“所有者” 0-0-1-0 0-0-2-0 0-0-3-0 0-0-4-0 0-0-5-0 0-0-6-0 0-0-7-0 0-0-8-0 0-0-9-0 0-0-10-0

查询:

我想登录到从0-0-1-00-0-10-0的所有目录并执行一些操作。我怎么能这么做?

例如,我想验证XYZ目录是否存在于所有目录中。

user@root>test -d 0-0-1-0/XYZ;如果"$?“= "0”;则回送“目录”丢失“fi”。

我认为,如果我可以在某个变量中增量地存储每一行的值,那么问题就会得到解决。

EN

回答 2

Stack Overflow用户

发布于 2014-06-18 13:10:19

如果您知道DIR_NAME_TO_BE_SEARCHED,那么可以使用以下命令:

代码语言:javascript
运行
复制
find YOUR_STARTING_DIRECTORY -type d -name DIR_NAME_TO_BE_SEARCHED -print

示例:

代码语言:javascript
运行
复制
find . -type d -name test -print

说明:

将找到从当前目录开始的所有目录(-type d),这些目录的名称为-name测试,并输出它们(-print)。

如果您不知道确切的DIRECTORY_NAME_TO_BE_SEARCHED,那么也可以使用模式:

代码语言:javascript
运行
复制
find YOUR_STARTING_DIRECTORY -type d -name "DIR_NAME_TO_BE_SEARCHED_PATTERN" -print

示例:

代码语言:javascript
运行
复制
find . -type d -name "\*test\*" -print
票数 0
EN

Stack Overflow用户

发布于 2014-06-18 13:16:17

您可以像这样处理文件列表:

代码语言:javascript
运行
复制
#!/bin/sh
for dir in $(awk 'NR>2 {print $1}' $1)
do
   if [[ -d "$dir" ]]
   then
     cd "$dir"
     pwd
     # Do random stuff
   fi
done

按如下方式运行脚本:

代码语言:javascript
运行
复制
./script.sh my_list_of_files

如果目录存在,它将cd到该目录并运行pwd。

不过,一个警告是,如果您的目录中有一个空格,这个脚本就会有点混乱。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24285679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档