#!/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'}'