【发布时间】:2014-11-03 06:24:45
【问题描述】:
我有一个命令列出了我们正在备份的所有文件夹的完整 8 级深度路径。 我还有一个命令可以枚举系统上所有 8 级深度文件夹。 这两者都作为变量存储在 bash 脚本中。
我正在尝试组合一个循环,该循环采用文件 1 并将第一行条目用作 if/then/else 中的变量,然后继续移动到文件末尾.
我已经尝试了很多东西,但它超出了我的技能范围,无法提供一个不会让这篇文章的读者感到困惑的示例。
TempFile1=/ifs/data/scripts/ConfigMonitor/TempFile1.txt
TempFile2=/ifs/data/scripts/ConfigMonitor/TempFile2.txt
find /ifs/*/*/backup -maxdepth 4 -mindepth 4 -type d > $TempFile1
isi snapshot schedules list -v | grep Path: | awk '{print $2}' > $TempFile2
list line 1 on $TempFile1
Grep for line 1 within $TempFile2
if result yielded then
echo found
else
echo fullpath not being backed up
fi
【问题讨论】:
-
BashFAQ #1 很重要:mywiki.wooledge.org/BashFAQ/001
-
顺便说一句,
grep | awk几乎总是愚蠢的;awk可以做任何事情grep可以,无需将它们连接在一起。awk '/Path:/ {print $2}',在直接情况下。 -
在不同的点上——如果您希望能够在 bash 中以高性能的方式 (O(1)) 测试集合成员资格,您可能需要查看关联数组。