在Unix中从文件中选择一系列记录

在Unix中从文件中选择一系列记录,unix,Unix,我在unix中的一个文本文件中有4930728条记录。此文件用于使用batchloader将图像摄取到Oracle web center内容根据以下示例指示记录结束 我有两个问题 在处理4930728条记录中的4300846条后,batchloader因任何原因失败。现在,我想创建一个新文件,其中包含从4300846到4930728的记录。我如何做到这一点 我想将包含4930728条记录的文本文件拆分为多个文件,每个文件包含(1000000)条记录,例如文件1包含0到10000000条记录。第二

我在unix中的一个文本文件中有4930728条记录。此文件用于使用batchloader将图像摄取到Oracle web center内容<代码>根据以下示例指示记录结束

我有两个问题

  • 在处理4930728条记录中的4300846条后,batchloader因任何原因失败。现在,我想创建一个新文件,其中包含从4300846到4930728的记录。我如何做到这一点

  • 我想将包含4930728条记录的文本文件拆分为多个文件,每个文件包含(1000000)条记录,例如文件1包含0到10000000条记录。第二个文件包含从1000001到20000000的记录,以此类推。我如何做到这一点

  • 文件名:
    load_images.txt

    Action = insert
    
    DirectReleaseNewCheckinDoc=1
    
    dUser=Biometric
    
    dDocTitle=333_33336145454_RT.wsq
    
    dDocType=Document
    
    dDocAuthor=Biometric
    
    dSecurityGroup=Biometric
    
    dDocAccount=Biometric
    
    xCUSTOMER_MSISDN=33333
    
    xPIN_REF=64343439
    
    doFileCopy=1
    
    fParentGUID=2CBC11DF728D39AEF91734C58AE5E4A5
    
    fApplication=framework
    
    primaryFile=647229_234343145454_RT.wsq
    
    primaryFile:path=/ecmmigration_new/3339_2347333145454_RT.wsq
    
    xComments=Biometric Migration from table OWCWEWW_MIG_3007
    
    <<EOD>>
    
    Action=insert
    DirectReleaseNewCheckinDoc=1
    dUser=生物测定
    dDocTitle=333_33336145454_RT.wsq
    dDocType=文档
    dDocAuthor=生物识别
    dSecurityGroup=生物识别
    dDocAccount=生物特征
    xCUSTOMER_MSISDN=33333
    xPIN_REF=64343439
    doFileCopy=1
    fParentGUID=2CBC11DF728D39AEF91734C58AE5E4A5
    faapplication=框架
    primaryFile=647229_23434314314_RT.wsq
    primaryFile:path=/ecmmiglation\u new/3339\u 234733145454\u RT.wsq
    xComments=来自表OWCWEWW\u MIG\u 3007的生物特征迁移
    
    答案#1:

    答案#2-要将文件拆分为1000 0000行:

    split -l 10000000 myfile.txt ### It will create file like xaa,xab and so on
    

    答案#2有效,但答案#1无效。head-n4930728/samba/migration/fi900007_load/load.txt | tail-n$(echo“4930728-4300846”| bc)用法:tail[+/-[n][lbc][f][file]tail[+/-[n][l][r | f][file]理想情况下它对我有效,所以应该对你有效(可能是在这里玩的shell版本)。试试head-n4930728/samba/migration/fi900007_load/load.txt | tail-n629882,看看是否有效?我试过了。。但不向输出文件写入任何内容。我正在使用solaris sparc 10。head-n 4930728/samba/migration/fi900007_load/load.txt | tail-629882>重新提交.txt
    split -l 10000000 myfile.txt ### It will create file like xaa,xab and so on