Linux 跨行比较文件值

Linux 跨行比较文件值,linux,bash,shell,Linux,Bash,Shell,我有一个包含以下内容的文件,描述了范围 27,16634 16634,228884 228884,263485 263485,570159 570159,574578 574578,582558 582558,589176 589176,610406 610406,758369 758369,761788 761788,1204053 1204053,2709997 2709997,2881177 2881177,2885709 2885709,2892004 2892004,2899595 2

我有一个包含以下内容的文件,描述了范围

27,16634
16634,228884
228884,263485
263485,570159
570159,574578
574578,582558
582558,589176
589176,610406
610406,758369
758369,761788
761788,1204053
1204053,2709997
2709997,2881177
2881177,2885709
2885709,2892004
2892004,2899595
2899595,2907546
2907546,2918485
2918485,2998518
2998518,3052950
3052950,3058420
3058420,3064901
3064901,3069132
3069132,3073363
3073363,3077670
3077670,3082448
3082448,3090852
3090852,3227270
3227270,5847341
5847341,7748374
我需要确认:


  • 在同一行上,行的左值您可以使用此
    awk

    awk -F, '$1>$2 || (NR>1 && p>$1){exit 1} {p=$2}' file && echo "true" || echo "false"
    

    在这里,我们将前一行的第二列存储在变量
    p

    中,您可以使用此
    awk

    awk -F, '$1>$2 || (NR>1 && p>$1){exit 1} {p=$2}' file && echo "true" || echo "false"
    

    这里,我们将前一行的第二列存储在变量
    p

    中。当我们假设每行有两个带逗号的字段时,您希望看到所有数字都等于或大于最后一个。
    在这种特殊情况下,您可以使用

    [[ $(tr "," "\n" < file) == $(tr "," "\n" < file |sort -n) ]] && echo "true" || echo "false"
    

    当我们假设每行有两个带逗号的字段时,您希望看到所有数字都等于或大于最后一个。
    在这种特殊情况下,您可以使用

    [[ $(tr "," "\n" < file) == $(tr "," "\n" < file |sort -n) ]] && echo "true" || echo "false"
    

    类似于沃尔特的解决方案-

    $: tr , "\n" < file | sort -n --check && echo valid    
    valid
    
    $:tr,“\n”
    tr
    将所有逗号转换为换行符,将文件呈现为一列,OP表示该列应按数字顺序排序

    sort-n——检查
    如果按数字顺序排序,则返回有效的零返回码;如果不按数字顺序排序,则返回1


    echo
    只是报告-
    和&
    检查
    排序
    的返回并告诉您文件是否正确

    类似于沃尔特的解决方案-

    $: tr , "\n" < file | sort -n --check && echo valid    
    valid
    
    $:tr,“\n”
    tr
    将所有逗号转换为换行符,将文件呈现为一列,OP表示该列应按数字顺序排序

    sort-n——检查
    如果按数字顺序排序,则返回有效的零返回码;如果不按数字顺序排序,则返回1


    echo
    只是报告-
    和&
    检查
    排序
    的返回并告诉您文件是否正确

    预期输出是什么?仅为真/假?@rs79我们有帮助吗?预期输出是什么?仅为真/假?@rs79我们有帮助吗?请注意,这不能正确处理文件中第一个条目为负的情况。请注意,这不能正确处理文件中第一个条目为负的情况。