我在目录$ FILES_DIR中有3个文件
1) File_Apple.txt
2) File_Samsung.txt
3) File_Huwaei.txt
Header rows of File_Apple.txt
AAA1,BBB2,CCC3
Header rows of File_Samsung.txt
DDD1,EEE2
Header rows of File_Huwaei.txt
FFF1,GGG2,HHH3,III4
还有另一个名为head_config的文件,其中包含上述3个文件的标题行。
head_config.txt
AAA1,BBB2,CCC3
DDD1,EEE2
FFF1,GGG2,HHH3,III4
基本上,如果根据head_config.txt文件,文件头是否正确,我必须进行匹配
我能够通过一些麻烦的过程来做到这一点:分别复制每个文件的标题行,并将其附加到新文件中。然后比较使用head.config.txt创建的新文件
head -1 File_Apple.txt >> new_file.txt
head -1 File_Samsung.txt >> new_file.txt
head -1 File_Huwaei.txt >> new_file.txt
然后将cmp new_file.txt转换为head_config.txt
我如何更有效地做到这一点?
这是一个完成所有操作的命令,为每个匹配的文件打印Good
,为不匹配的文件打印Bad
:
首先,请确保头文件中的行由文件名
与AWK一起尝试此>]
for file in ./File_*
do
for line in `cat head_config.txt`
do
awk -v var="$line" '$0 ~ var && NR==1 {print FILENAME "PASSED TEST"}' $file
done
done