GNU/Linux >> Linux の 問題 >  >> Linux

パイプからコマンドラインで作成するときに、zip 内でファイル名を指定するにはどうすればよいですか?

あなたならできます。

ls | zip test.zip [email protected]

これは、ディレクトリに 3 つのファイルがあるという概念から行われます。

-rw-rw-r-- 1 xxx domain users   6 Jan  7 11:41 test1.txt
-rw-rw-r-- 1 xxx domain users   6 Jan  7 11:41 test2.txt
-rw-rw-r-- 1 xxx domain users   6 Jan  7 11:41 test3.txt

そしてファイル自体、結果は

Archive:  test.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        6  01-07-10 11:41   test1.txt
        6  01-07-10 11:41   test2.txt
        6  01-07-10 11:41   test3.txt
 --------                   -------
       18                   3 files

Linux Zip Man ページから

<ブロック引用>

ファイル リストが [email protected] として指定されている場合、zip は標準入力から入力ファイルのリストを取得します。


名前付きパイプを使用して、そこから圧縮しながらリクエスト出力を送信できます。

mkfifo output.txt ; mysql [params and query] > output.txt & zip output.zip -FI output.txt ; rm output.txt

PHP の回答を管理できず (より大きな mysql ダンプでメモリ不足)、FIFO が思い通りに機能していなかったので、私の解決策は、ダンプを実行した後に ZIP アーカイブ内のファイルの名前を変更することです。 Debian の zip パッケージに含まれています)。

mysql [params and query] | zip -q output.zip -
echo -e "@ -\[email protected]=newname.sql" | zipnote -w output.zip

Linux
  1. コマンドラインからミュートする方法は?

  2. コマンド ラインから電子メールを送信するにはどうすればよいですか?

  3. Nautilus のようにコマンドラインからマウントする方法は?

  1. コマンドラインからJenkinsのセキュリティ設定をリセットするには?

  2. コマンド ラインから任意の場所で実行するスクリプトをインストールするにはどうすればよいですか?

  3. コマンドラインから Dropbox ファイルの URL を取得するには?

  1. Linuxコマンドラインからソフトウェアをインストールする方法

  2. コマンドラインからIcewmを再起動する方法は?

  3. LinuxコマンドラインからOpenofficeマクロを呼び出す方法は?