我有 2 个单独的文件 lostType.txt(显示所选选项)和 lost.txt(显示内存泄漏)我正在使用对话框创建 GUI。使用复选框,我从用户那里获取一些数字间隔来限制将被打印的内存泄漏。我要做的是,打印内存泄漏在选定大小的行,泄漏类型在 lostType.txt
例如,这是lost.txt
LEAK SUMMARY
100 bytes definitely lost
0 bytes indirectly lost
0 bytes possibly lost
100 bytes still reachable
0 bytes suppressed
如果用户想看到明确丢失和间接丢失,lostType.txt
有以下
definetely
indirectly
假设用户选择查看泄漏,其中大小介于 0 和 10 字节或 100 和 250 字节之间。现在输出必须是100 bytes in 1 blocks definitely lost
到目前为止我所做的是以下,
for choice in $choices
do
case $choice in
1)
#"Memory Leak <= 10 Byte"
cat lost.txt | awk '{
if ($1 <= 10 && $1 > 0 )
print $1,$2" ==>",$3,$4
}'
;;
2)
#"10 Byte < Memory Leak <= 50 Byte"
cat lost.txt | awk '{
if ($1 <= 50 && $1 > 10 )
print $1,$2" ==>",$3,$4
}'
;;
也就是说,根据选择的大小间隔,我可以打印这些值。但是,我找不到查找 lostType 的方法(上层代码 3 美元)。我需要做的是在 awk 中搜索文件,例如
cat lost.txt | awk '{
if ($1 <= 50 && $1 > 10 AND IF $3 IS IN lostType.txt)
print $1,$2" ==>",$3,$4
}'
;;
所以我的问题是,如何在 awk 中搜索文件?