【发布时间】:2014-06-19 05:40:26
【问题描述】:
我有两个文本文件,我想根据它们的行和列比较它们的对应值。通过比较,我的意思是检查值是否相等,echo 值是否相同。以下是文件:
file1.txt
Name Col1 Col2 Col3
-----------------------
row1 1 4 7
row2 2 5 8
row3 3 6 9
file2.txt
Name Col1 Col2 Col3
-----------------------
row2 1 4 11
row1 2 5 12
以下是限制条件:
- 只比较存在的行(即:由于file1.txt中存在row3,而file2.txt中不存在,所以不需要比较)
- 必须一次进行一行和一列的比较。
- 必须使用
awk - 文件中的行可能乱序
我在想这样的事情:
awk 'NR>2
for (i=2;i<NR;i++) #for each row of file1.txt
{
for(j=1;i<NF;j++) #for each column of file1.txt
{
// check if row and column of file1.txt is equal to row and column of file2.txt
}
}
' file1.txt file2.txt
我是 bash 的初学者,所以请原谅我的所有错误。这样的事情可能吗?另外,您如何比较两个不同文本文件的值?谢谢。如果需要更多解释,请告诉我。
【问题讨论】:
-
当然有很多限制...我会将其用作学术环境中的某种练习。
-
你能显示你的预期输出吗?
-
不,我不是。我只是无法弄清楚 OP 试图从这个问题中得到什么确切的输出。
标签: awk