我试图在每个输出文件中将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]]
任何人都可以帮我获取所需的输出文件字符串吗?谢谢。
答案 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