GNU/Linux >> Znalost Linux >  >> Linux

Jak rozdělit soubor jako Split to Stdout pro připojení k příkazu?

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?

Linux
  1. Jak uložit výstup příkazu do souboru v Linuxu

  2. Jak používat příkaz SFTP pro bezpečný přenos souborů

  3. Jak rozdělit a kombinovat soubory z příkazového řádku v Linuxu

  1. Jak náhodně vzorkovat podmnožinu souboru?

  2. Zahodit Stdout Of A Command na T sekund?

  3. Jak vygenerovat částečný kontrolní součet souboru

  1. Jak rozdělit iso nebo soubor pomocí příkazu „split“ v Linuxu

  2. Jak připojit výstup do souboru?

  3. předat stdout jako název souboru pro příkazový řádek util?