Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何区分和显示两个文件在一行中的不同之处_Sql_Unix_4gl - Fatal编程技术网

Sql 如何区分和显示两个文件在一行中的不同之处

Sql 如何区分和显示两个文件在一行中的不同之处,sql,unix,4gl,Sql,Unix,4gl,归档- 文件b- aaabaaa 请求输出样本- aaaaaa *-我的意思是少了一封信 如何使用基本unix命令或shellscript或sql或4gl代码来完成此操作?(只需要任意1)类似的功能应该可以使用(文件顺序非常重要,这将比较第一个文件的第一行和第二个文件的第一行): 测试: 输出: 类似的方法应该可以工作(文件顺序非常重要,它比较第一个文件的第一行和第二个文件的第一行): 测试: 输出: 您好,我可以问一下,如果文件1中有多余的行,它是否仍然能够检查差异在哪里?像所有的例子一样

归档-

文件b-

aaabaaa
请求输出样本-

aaaaaa
*-我的意思是少了一封信


如何使用基本unix命令或shellscript或sql或4gl代码来完成此操作?(只需要任意1)

类似的功能应该可以使用(文件顺序非常重要,这将比较第一个文件的第一行和第二个文件的第一行):

测试: 输出:
类似的方法应该可以工作(文件顺序非常重要,它比较第一个文件的第一行和第二个文件的第一行):

测试: 输出:
您好,我可以问一下,如果文件1中有多余的行,它是否仍然能够检查差异在哪里?像所有的例子一样---在额外的一行中。正如我提到的,文件顺序非常重要。如果第二个文件中存在额外的行,则上述解决方案将起作用。如果第一个文件中有多余的一行,那么我们将不得不添加额外的代码。嗨,我可以问一下文件的第一个文件中是否有多余的一行,它是否仍然能够检查差异在哪里?像所有的例子一样---在额外的一行中。正如我提到的,文件顺序非常重要。如果第二个文件中存在额外的行,则上述解决方案将起作用。若第一个文件中有额外的行,那个么我们将不得不添加额外的代码。
aaa-aaa
awk '
NR==FNR {
    a[NR]=$0
    next
}
{
    delete ary
    delete ary2
    x=y=len=i=k=0
    x=split($0,ary,""); 
    y=split(a[FNR],ary2,"");
    len=x>y?x:y;
    while(len>0) {
        if (ary[++i]==ary2[++k]) {
            printf ary[i]
        }
        else
        {
            printf "-"
            i--
        }
        len--
    }
    print ""
}' file1 file2
$ cat file1
aaabaaa
abcdefabc
aaabbbccc

$ cat file2
aaaaaa
abcabc
acacacac
aaa-aaa
abc---abc
a-----c--