Mám velký .sql
soubor plný SELECT
příkazy, které obsahují data, která chci vložit do své databáze SQL Server. Hledám, jak bych mohl v podstatě vzít obsah souboru, 100 řádků najednou, a předat jej příkazům, které jsem nastavil, aby se postaraly o zbytek.
V podstatě hledám split
to bude výstup do stdout
, nikoli soubory.
Používám také CygWin ve Windows, takže nemám přístup k úplné sadě nástrojů.
Přijatá odpověď:
Myslím, že nejjednodušší způsob, jak to udělat, je:
while IFS= read -r line; do
{ printf '%sn' "$line"; head -n 99; } |
other_commands
done <database_file
Musíte použít read
pro první řádek v každé sekci, protože se zdá, že neexistuje žádný jiný způsob, jak zastavit, když je dosaženo konce souboru. Další informace naleznete na adrese:
- Zkontrolujte, zda není roura prázdná, a pokud není, spusťte pro data příkaz
- Jak převést výstup z jednoho procesu do druhého, ale spustit pouze v případě, že první má výstup?