如何让AWK将搜寻到的模式及其所在行存储在数组中,这样做最好的解决方案是什么?我需要编写一个shell脚本吗?还是只需要使用AWK就可以搞定呢?
例如,如果我搜索单词“吉他”,它会创建一个数组,其中包含该单词出现在第13行、第18行和第89行等信息?
awk '/home/ {
array[$0] = NR
}
END {
for(i in array) print i, array[i] }' 1-1000.txt
例如,这将打印匹配的行以及它们被发现的编号...但是我不需要 $0,而是那个“home”模式,作为关联数组的索引,该数组将以行作为值。但是再次出现了问题,如何为该索引有多个值?
FNR
存储每个文件的行号。在这种情况下,它将是第二个文件的行号。 - jaypal singh