0

此脚本将 unit-*-slides.txt 文件从目录中列出到 filelist.txt 文件中,然后从该文件列表中转到该文件并读取该文件并将 st^ 行数提供给一个文件。但它是不按 ex 1,2,3,4 的顺序计算,.... 它像 10,1,2,3,4 一样计算......

如何按顺序阅读。

#!/bin/sh
    #
    outputdir=filelist
    mk=$(mkdir $outputdir)
    $mk
    dest=$outputdir
    cfile=filelist.txt
    ofile="combine-slide.txt"

    output=file-list.txt
    path=/home/user/Desktop/script
    ls  $path/unit-*-slides.txt | sort -n -t '-' -k 2 > $dest/$cfile
    echo "Generating files list..."
    echo "Done"

    #Combining
    while IFS= read file
    do 
        if [ -f "$file" ]; then
        tabs=$(cat unit-*-slides.txt | grep "st^" | split -l 200)
        fi
    done < "$dest/$cfile"
    echo "Combining Done........!"
4

1 回答 1

1

尝试sort -n

tabs=$(cat $( ls unit-*-slides.txt | sort -n ) | grep "st^" | split -l 200)

sort -n表示数字排序,因此输出按数字排序ls

于 2013-05-06T11:35:53.903 回答