使用mac osx上的split函数重命名输出文件

时间:2016-04-04 20:58:25

标签: bash

我试图在每个输出文件中将16个行中的大文件拆分。我可以使用split -l 16 q1.txt new来做到这一点。但我希望输出像ratio1.txt,ratio2.txt,...... ratio100.txt等。所以我试过:split -l 16 -d --additional-suffix=.txt q1.txt ratio

然后我在我的mac上收到此错误消息:

split: illegal option -- d
usage: split [-a sufflen] [-b byte_count] [-l line_count] [-p pattern]
             [file [prefix]]

任何人都可以帮我获取所需的输出文件字符串吗?谢谢。

1 个答案:

答案 0 :(得分:3)

如果您检查man split,您会发现此版本不支持参数--additional-suffix=SUFFIX

要实现我的理解,您需要一个Automator脚本或shell脚本,例如:

#!/bin/sh

DONE=false
until $DONE; do
  for i in $(seq 1 16); do 
    read line || DONE=true;
    [ -z "$line" ] && continue;
    lines+=$line$'\n';
  done
  ratio=${lines::${#lines}-10}
  (cat "Ratio"; echo "$ratio .txt";)
  #echo "--- DONE SPLITTING ---";
  lines=;
done < $1