16
Vývoj / Rozsekání souboru ve skriptu
« kdy: 07. 01. 2015, 05:48:40 »
Pokud jde o konzoli, vpodstatě si vypíšu seznam řádků podle nichž by se měl soubor rozsekat.
Zjistím kolik řádků soubor má:
A začnu rozsekávat (např):
Rád bych si to ale převedl do scriptu, který by tu práci dělal za mě.
Pojmenování souborů:
Rád bych pochopil, jakým způsobem mohu toto převést do shellového scriptu.
Tak nějak si představuji, že bych začátek souboru, seznam řádků a poslední řádek, načetl do pole. Názvy souborů do druhého pole, a pak patrně pomocí while prováděl ořez.
Jen mi zatím není jasné jak to provést.
mělo by fungovat cca toto
tedy
Kód: [Vybrat]
grep -n 'Table structure for table' DB*.sql | awk -F :-- '{print $1}'Zjistím kolik řádků soubor má:
Kód: [Vybrat]
wc -l DB*.sql | awk '{print $1}'A začnu rozsekávat (např):
Kód: [Vybrat]
head -n $((6466-2)) *sql | tail -n $((6466-6439+1)) > tabulka.sqlRád bych si to ale převedl do scriptu, který by tu práci dělal za mě.
Pojmenování souborů:
Kód: [Vybrat]
grep -n 'Table structure for table' DB*.sql | awk '{print $6}' | tr -d "\`"Rád bych pochopil, jakým způsobem mohu toto převést do shellového scriptu.
Tak nějak si představuji, že bych začátek souboru, seznam řádků a poslední řádek, načetl do pole. Názvy souborů do druhého pole, a pak patrně pomocí while prováděl ořez.
Jen mi zatím není jasné jak to provést.
mělo by fungovat cca toto
Kód: [Vybrat]
RADKY=(`ls`)bude to ale fungovat i s rourou?tedy
Kód: [Vybrat]
RADKY=(`grep -n 'Table structure for table' DB*.sql | awk -F :-- '{print $1}'`)a co teprv přidávání více záznamů (tohle asi fungovat nebude, že?)Kód: [Vybrat]
RADKY=(0 `grep -n 'Table structure for table' DB*.sql | awk -F :-- '{print $1}'` `wc -l DB*.sql | awk '{print $1}'`)zatím jsem to nezkoušel a pročítám fóra