【发布时间】:2022-01-08 19:54:33
【问题描述】:
我想了解在 AIX 6.x 平台上比较 AWK 中不同文件的多个字段时如何/是否可以包含某些条件。以下是我正在尝试做的事情:
Employee.txt (last column is the **status**)
1|canoeing|Sam|Smith|Seatle|X
2|jogging|Barry|Jones|Seatle|
3|football|Garry|Brown|Houston|
4|jogging|George|Bla|LA|X
5|basketballCeline|Wood|Atlanta|
6|tennis|Jody|Ford|Chicago|
Car.txt (last column is **availability**)
100|football|red|1|Y
110|tennis|green|9|N
120|hockey|yellow|2|N
130|football|yellow|6|N
140|jogging|red|8|Y
150|canoeing|white|0|
awk -F"|" '
NR == FNR {
empcar[$3]
next
}
{
print > ($1 in empcar ? "match.txt" : "no_match.txt")
}' Car.txt Employee.txt
我喜欢在打印匹配的记录之前检查员工状态是否为 Active(没有 X)和汽车可用性 (Y) 是否相同。这可行吗?
非常感谢, 乔治
【问题讨论】:
-
car.txt中的第三列是员工编号(employee.txt的第一列)吗?您想打印来自employee.txt的全部记录吗?加入两个文件中的记录?还是只是员工编号? -
如果您显示所需的输出会有所帮助。在此示例数据中,我没有看到任何拥有可用汽车的在职员工。
-
Car.txt的第三列是Employee.txt的员工编号。所需的输出是两个文件中记录的组合。谢谢