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

ファイルの内容をエンコードして1行としてエコーしますか?

出力を他の場所にコピーできるように、base64でエンコードされたキーファイルと証明書ファイルのコンテンツをエコーし​​ようとしています。

私はこのスレッドを見つけました:ファイルの内容をコマンドechoにリダイレクトしますか?これは、ファイルコンテンツをエコーする方法を示し、エンコード用に改行文字を保持する方法も示しています。ただし、| base64 これにより、出力が複数行に分割され、2番目のechoを追加しようとします。 改行を空白に置き換えるだけです。

$ echo "$(cat test.key)" | base64
LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRZ0lCQURBTkJna3Foa2lHOXcwQkFRRUZB
QVNDQ1N3d2dna29BZ0VBQW9JQ0FRRFF4Tkh0aHZvcEp1Z0EKOHBsSUNUUU1pOGMwMzRERlR6Z1E5
ME5tcE5zN2hRczNQZ0QwU2JuSFcyVGxqTS9oM1F1QVE0Q1dqaHRiV1ZUbgpSREcveGxWRFBESVVV
MzB1UHJnK0N6dlhOUkhzQkE9PQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg==

$ echo $(echo "$(cat test.key)" | base64)
LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRZ0lCQURBTkJna3Foa2lHOXcwQkFRRUZB QVNDQ1N3d2dna29BZ0VBQW9JQ0FRRFF4Tkh0aHZvcEp1Z0EKOHBsSUNUUU1pOGMwMzRERlR6Z1E5 ME5tcE5zN2hRczNQZ0QwU2JuSFcyVGxqTS9oM1F1QVE0Q1dqaHRiV1ZUbgpSREcveGxWRFBESVVV MzB1UHJnK0N6dlhOUkhzQkE9PQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg==

必要な出力は次のようになります:

LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRZ0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQ1N3d2dna29BZ0VBQW9JQ0FRRFF4Tkh0aHZvcEp1Z0EKOHBsSUNUUU1pOGMwMzRERlR6Z1E5ME5tcE5zN2hRczNQZ0QwU2JuSFcyVGxqTS9oM1F1QVE0Q1dqaHRiV1ZUbgpSREcveGxWRFBESVVVMzB1UHJnK0N6dlhOUkhzQkE9PQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg==

どうすればこの出力を達成できますか?

承認された回答:

次のように、base64の-wオプション(行の折り返し)を使用します。

... | base64 -w 0

値が0の場合、行の折り返しは無効になります。


Linux
  1. 大きなファイルにSedとParallelを使用して、行を別のコンテンツに置き換えますか?

  2. Linux でヘッダーとトレーラー行をファイルに追加する方法

  3. コマンドラインと Xargs でファイルの名前を一括変更する

  1. zip アーカイブ内の複数のファイルの内容を印刷する

  2. Linux 端末からメールを 1 行で送信する

  3. 1行で必要に応じてファイルとmkdirに触れる方法

  1. コマンドラインからアクセス許可と所有者を変更する方法

  2. 迅速で汚いハック:1行のHTTPサーバー

  3. ファイルの内容をコマンド「echo」にリダイレクトしますか?