2016-04-04 12 views
1

我想在每个输出文件的16行中分割一个大文件。我可以使用split -l 16 q1.txt new来做到这一点。但我想输出到像ratio1.txt,ratio2.txt,...... ratio100.txt等,所以我想:split -l 16 -d --additional-suffix=.txt q1.txt ratio在mac osx上使用分割函数重命名输出文件

然后我得到这个错误信息在我的Mac:

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

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

回答

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 
+0

感谢。我看到人分裂,但无法弄清楚如何解决这个问题。 – user3389597

+0

你可以试试这样的脚本: 'nano scriptname.sh'会打开编辑器,粘贴脚本,然后'chmod a + x scriptname.sh'使它可执行,然后用'./scriptname'调用它。 sh q1.txt' –

+0

谢谢。这很有帮助 – user3389597

相关问题