将 2 个文件内容与 shellScript 中的特定值进行比较



我对shell脚本很陌生,需要帮助 我有 2 个文件,即

学生.txt
001,彼得,3
班002,莫希特,4
班等等...

分数.txt
001, 历史, 45 001, 数学, 55

002, 计算机, 76 002, 数学, 96

等等...
我想读第一个字(即卷号(从学生.txt即在我的示例中为 001,002,然后在另一个文件中搜索内容(卷号( 标记.txt第一个单词和第第二个单词应该是"历史",(条件:$1 == 滚动没有 &&$2 == 历史(

我经历了awk cmd并尝试但无法做出完整的解决方案

awk -F ","{ print $1 }' 学生.txt awk -F ","{ 打印 $1, $2 }' 标记.txt

此命令首先从第二列中具有历史记录的标记中收集卷号.txt然后打印来自此列表中的卷号的学生.txt这些行:

awk 'BEGIN {FS=", "} FNR==NR{ if ($2=="History"){a[$1];} next} $1 in a' Marks.txt Student.txt

输出:

001, Peter, class3

编辑:有关使用awk处理多个文件的更多信息,请参阅此内容:使用AWK处理来自多个文件的输入

最新更新