我正在尝试编写一个 unix shell 脚本来搜索给定文本的所有头文件,然后找出每个头文件包含在其他文件中的次数。
我的问题在第二部分,搜索包含在其他文件中的命令从命令行工作,但它不会从 shell 脚本打印任何内容。
array=( $(grep 'regexToSearch' -rl --include="*.h" pathToFiles) )
for item in "${array[@]}"
do
filename=$(echo ${item} | grep -o '[^/]*.h')
incstring="#include[ ]*\"$filename\""
echo $incstring
echo "--------------------"
filelist=$(grep '$incstring' -rl --include=*.{h,cpp} pathToFiles)
echo $filelist
echo "--------------------"
done
输出如下:
#include[ ]*"header1.h"
--------------------
// Second grep output for first file should be here
--------------------
#include[ ]*"header2.h"
--------------------
// Second grep output for second file should be here
--------------------
#include[ ]*"header3.h"
--------------------
// Second grep output for third file should be here
--------------------