我用csplit可寫,從一個單一的大文件分離較小的文件bash腳本循環和重命名文件(S)
#!/bin/bash
OBJECT=$1; $TARGET="bigfile.pgn";
FIRST_NEW_GAME=$2;
csplit $TARGET /Event/ {*};
ls xx*
echo 'How many games do we have?'; read NUMGAMES
#xx00 xx01 xx02 xx03 xx04 xx05
# I just grab "5" for $NUMGAMES
我現在有5個文件,並準備好將其重命名爲$ FIRST_NEW_GAME + 1
while [ $X -le $NUMGAMES ]; do
let X=X+1
pseudo code: mv xx[01-05] 5337+[$X].pgn
done;
我有XX [01-01]和要創建FIRST_NEW_GAME( 「5436」)+ $ X 例如:XX01變得5336.pgn,XX02變得5337.pgn等
但最後一次循環超出我的範圍。有任何想法嗎?
csplit有選項'--suffix-format'&'--prefix'。看看這些是否會幫助你。您可能根本不需要任何額外的bash代碼... – anishsane
不適用於這種情況。 – verlager