web-dev-qa-db-ja.com

OpenSSL Base64エンコード文字列から改行を削除しますか?

echo -n 'HelloWorld' | openssl base64 | pbcopy

このコマンドは、貼り付け後に改行を表示します。

-nが改行を削除すると思ったが、base64を使用する場合は削除しないでください。

改行なしで出力文字列を取得するにはどうすればよいですか?

1
user779848

もっと簡単な方法があると確信していますが、ここでは、出力レコード区切り記号を空白にしてawkを使用しています。レコードセパレータが1つしかないため、結果は空白になります。これで、ファイルに出力を実行し、そのファイルにメタ文字を表示するcat -Aを実行することにより、改行があるかどうかをテストできます。

$ printf 'Hello World' | openssl base64 | awk 'BEGIN{ORS="";} {print}' > tester.txt

$ cat -A tester.txt
SGVsbG8gV29ybGQ=

ご覧のとおり、その文字列の最後に$記号はないため、改行はありません。

3