查找关键字(输出文件名和关键字所在行号)

#!/bin/sh

FILENAMES=

for i in `find /home/`
do
        file $i | grep "text"
        if [ "$?" == "0" ];then
        {
echo $i
                FILENAMES=$i
                cat $i | grep -n "html" | awk '{ print "'${FILENAMES}'",$0 }' >> /tmp/log.txt
        }
        fi
done


FILENAMES是shell变量,而awk是Linux中独立于shell的一个工具。在awk中如果要解析shell变量,需要将变量拿到awk的作用域外面来,即先关闭awk的单引号,引用变量后再次打开。
echo $str | awk -F, '{print '$FILENAMES'}'




你可能感兴趣的:(html,linux,shell,File,工具,filenames)