Text-Processing
使用 grep 獲取多個字元串的出現
我在下面有我的主文件(log1.txt)字元串。
T202210010515.XX.old:2022-10-01 10:57:56<Other Texts>975673849<0ther Texts>975673849 T202210010515.XX.old:2022-10-01 10:59:56<Other Texts>975673449<0ther Texts>975673449 T202210010515.XX.old:2022-10-01 10:57:58<Other Texts>975673849<0ther Texts>975673849 T202210010515.XX.old:2022-10-01 10:59:51<Other Texts>975673849<0ther Texts>975673849 T202210010515.XX.old:2022-10-01 10:57:52<Other Texts>975673849<0ther Texts>975673849 T202210010515.XX.old:2022-10-01 10:59:59<Other Texts>975673449<0ther Texts>975673449
每一套都以 T202210* 開頭。我需要 grep 數字並返回該數字出現的行數。我有另一個包含我需要搜尋的所有數字的輔助文件(numbers.txt)。這是我需要的輸出,數字和每個數字的行數。
975673849 -4 975673449 -2
這是我的嘗試。
grep -f numbers.txt log1.txt
但這將產生所有帶有突出顯示數字的字元串列。有人可以幫助我產生我實際需要的輸出。
那應該工作:
╰─$ cat log1.txt 130 ↵ T202210010515.XX.old:2022-10-01 10:57:56<Other Texts>975673849<0ther Texts>975673849 T202210010515.XX.old:2022-10-01 10:58:56<Other Texts>975673849<0ther Texts>975673849 ╰─$ cat numbers.txt 975673849 975673449 ╰─$ while read -r line; do echo "$line" && cat log1.txt | grep -c "$line" ; done < numbers.txt 975673849 2 975673449 0