File 逐行比较:unix中的两个文件
亲民党的情况。我有两个文件 文件1 文件2 现在我想比较file1和file2的FirstName1。如果匹配,则将file1的LastName1与File2的LastName1进行比较 如果这些值中的任何一个不符合马赫数,则应将记录写入日志文件 完成此操作后,转到第二个记录File 逐行比较:unix中的两个文件,file,unix,File,Unix,亲民党的情况。我有两个文件 文件1 文件2 现在我想比较file1和file2的FirstName1。如果匹配,则将file1的LastName1与File2的LastName1进行比较 如果这些值中的任何一个不符合马赫数,则应将记录写入日志文件 完成此操作后,转到第二个记录 有人能深入了解一下吗……使用以下标准unix命令 diff sdiff 这也将有助于理解diff和sdiff之间的区别 您还可以编写一个脚本来比较这两个文件中的记录。diff最适合于您想要做的事情,但是如果您想在这种情况
有人能深入了解一下吗……使用以下标准unix命令
diff
sdiff
这也将有助于理解diff和sdiff之间的区别
您还可以编写一个脚本来比较这两个文件中的记录。diff最适合于您想要做的事情,但是如果您想在这种情况下执行更多操作,假设文件格式正确,这里有一个片段
./compare.sh <file1> <file2>
第一:欢迎来到SO。这可能有助于你相处,所以:回答你的问题是你需要的工具。谢谢你的回答。。这里使用的文件名是什么?是f1吗?你一开始说的1美元是什么意思。。。提前感谢。实际上,脚本将您的2个文件作为参数
cat$1
将读取第一个文件(参数),而您稍后在脚本中有一个cat$2
作为第二个文件(参数)。我编辑了它,使它更清晰。
diff
sdiff
./compare.sh <file1> <file2>
#!/bin/bash
line_number=0
cat $1 | while read line_f1; do
line_number=$((line_number + 1))
line_f2=$(cat $2 | sed "${line_number}q;d")
echo "line f1 : ${line_f1}"
echo "line f2 : ${line_f2}"
firstname_f1=$(echo ${line_f1} | cut -f1 -d' ')
firstname_f2=$(echo ${line_f2} | cut -f1 -d' ')
lastname_f1=$(echo ${line_f1} | cut -f2 -d' ')
lastname_f2=$(echo ${line_f2} | cut -f2 -d' ')
echo "firstname f1 : ${firstname_f1}"
echo "firstname f2 : ${firstname_f2}"
echo "lastname f1 : ${lastname_f1}"
echo "lastname f2 : ${lastname_f2}"
if [ ! "${firstname_f1}" = "${firstname_f2}" ]; then
echo "Differents Firstnames"
fi
#... place here other tests ...
done