我正在做一次检查,看看目录是否存在于下面目录的列表中。下表列示。这是有关此类目录的唯一可用表。
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-0到0-0-10-0的所有目录并执行一些操作。我怎么能这么做?
例如,我想验证XYZ目录是否存在于所有目录中。
user@root>test -d 0-0-1-0/XYZ;如果"$?“= "0”;则回送“目录”丢失“fi”。
我认为,如果我可以在某个变量中增量地存储每一行的值,那么问题就会得到解决。
发布于 2014-06-18 13:10:19
如果您知道DIR_NAME_TO_BE_SEARCHED,那么可以使用以下命令:
find YOUR_STARTING_DIRECTORY -type d -name DIR_NAME_TO_BE_SEARCHED -print示例:
find . -type d -name test -print说明:
将找到从当前目录开始的所有目录(-type d),这些目录的名称为-name测试,并输出它们(-print)。
如果您不知道确切的DIRECTORY_NAME_TO_BE_SEARCHED,那么也可以使用模式:
find YOUR_STARTING_DIRECTORY -type d -name "DIR_NAME_TO_BE_SEARCHED_PATTERN" -print示例:
find . -type d -name "\*test\*" -print发布于 2014-06-18 13:16:17
您可以像这样处理文件列表:
#!/bin/sh
for dir in $(awk 'NR>2 {print $1}' $1)
do
if [[ -d "$dir" ]]
then
cd "$dir"
pwd
# Do random stuff
fi
done按如下方式运行脚本:
./script.sh my_list_of_files如果目录存在,它将cd到该目录并运行pwd。
不过,一个警告是,如果您的目录中有一个空格,这个脚本就会有点混乱。
https://stackoverflow.com/questions/24285679
复制相似问题