#!/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'}'
本文介绍如何使用Shell脚本遍历目录并利用awk处理特定类型的文本文件,重点在于通过Shell变量与awk作用域的交互实现复杂数据处理。
1049

被折叠的 条评论
为什么被折叠?



