使用分隔符拆分BASH中的大文件

时间:2015-03-04 18:58:07

标签: linux bash file

我正在编写一个BASH脚本,该脚本接收一个本地文件,并使用奇数分隔符将其拆分为多个文件。

我想要使用的分隔符是:

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

分隔每条记录。

1 个答案:

答案 0 :(得分:0)

如果你的文件在自己的行上有分隔符,你可以这样做:

delim="-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="
i=1
while read line
do
    if [ "$line" == "$delim" ]
    then
        i=$((i+1))
    else
        echo $line >>your_file_$i
    fi
done <your_file

如果您的文件不在此配置中,则表示您具有内联分隔符。因此,您只需使用sed "s/${delim}/\r${delim}\r/g",就可以了解此情况。