将2个文件内容与shell脚本中的特定值进行比较
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将2个文件内容与shell脚本中的特定值进行比较相关的知识,希望对你有一定的参考价值。
我是shell脚本的新手,需要帮助我有2个文件,即
Student.txt 001,Peter,class3 002,Mohit,class4 等等...
Marks.txt 001,历史,45 001,数学,55 002,电脑,76 002,数学,96 等等... 我想从Student.txt中读取第一个单词(即卷号),即在我的例子中读取001,002,然后在另一个文件中搜索内容(卷号)Marks.txt第一个单词和第二个单词应该是“History”,(条件:$ 1 ==滚动否&& $ 2 ==历史)
我通过awk cmd尝试但无法完成解决方案
awk -F“,”'{print $ 1}'student.txt awk -F“,”'{print $ 1,$ 2}'marks.txt
答案
此命令首先从第二列中具有历史记录的Marks.txt中收集卷号,然后从Student.txt中打印具有此列表中卷号的行:
awk 'BEGIN {FS=", "} FNR==NR{ if ($2=="History"){a[$1];} next} $1 in a' Marks.txt Student.txt
输出:
001, Peter, class3
编辑:有关使用awk:Using AWK to Process Input from Multiple Files处理多个文件的更多信息,请参阅此处
以上是关于将2个文件内容与shell脚本中的特定值进行比较的主要内容,如果未能解决你的问题,请参考以下文章