私は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内のファイルを検索するにはどうすればよいですか?