コマンドにパイプするためにファイルを分割する方法(stdoutに分割するなど)は何ですか?

コマンドにパイプするためにファイルを分割する方法(stdoutに分割するなど)は何ですか?

SQL Serverデータベースにデータを挿入したいステートメント.sqlでいっぱいの大容量ファイルがあります。SELECTデフォルトでは、一度に100行ずつファイルの内容を取得し、残りのタスクを実行するように設定したコマンドに渡す方法を探しています。

デフォルトでは、ファイルではなくsplit出力を入れようとします。stdout

また、WindowsでCygWinを使用しているため、ツールバー全体にアクセスできません。

ベストアンサー1

最も簡単な方法は次のとおりです。

while IFS= read -r line; do
  { printf '%s\n' "$line"; head -n 99; } |
  other_commands
done <database_file

readファイルの終わりに達すると停止する他の方法がないようですので、各セクションの最初の行に使用する必要があります。詳細については、次を参照してください。

おすすめ記事