やりたいこと
S3にあるファイルをダウンロードしないでちょっと見たいです。
cat
コマンドでローカルのファイルを見る感じで、気軽に見たいです。
cp + 「-」で標準出力にファイルの内容を出力できた
S3のファイルをcatみたいに標準出力する方法
$ aws s3 cp s3://{バケット}/{ファイルパス} -
標準出力する方法が、ちゃんとAWSのサイトに書いてありました。
s3 cp コマンドは、次の構文を使用して stdout 用の Amazon S3 ファイルストリームをダウンロードします。
[Syntax] (構文)
$ aws s3 cp <target> [--options] -
AWS CLI での高レベル (S3) コマンドの使用 - AWS Command Line Interface
# 標準入力からファイルを作ったり、
$ echo chovin頑張る | aws s3 cp - s3://pon-bucket/chovin.md
# catみたいにファイルの中身を見たりできる
$ aws s3 cp s3://pon-bucket/chovin.md -
chovin頑張る
# ヒアドキュメントでもファイルを作れて、
$ cat <<_eof_ | aws s3 cp - s3://pon-bucket/chovin.md
pipe heredoc> chovinは頑張らないでs3にあるファイルを
pipe heredoc> catみたいに
pipe heredoc> 気軽に見たい
pipe heredoc>_eof_
# 気軽に中身を見たりできる
$ aws s3 cp s3://pon-bucket/chovin.md -
chovinは頑張らないでs3にあるファイルを
catみたいに
気軽に見たい
文字化けしたら他のコマンドと合わせればいい
私、実は日本人なのでSift-JISのファイルを使うことがあります。
# 当然ながら文字化けする
$ aws s3 cp s3://pon-bucket/fuga.md -
?X?e?B?[?u?E?W???u?X
?u???Ԃ͌????Ă???̂?????A???l?̐l?????Ď????̎??Ԃʂɉ߂????Ă͂????Ȃ??v
文字化けすると読めないけれど、ダウンロードするのも面倒くさいです。
そんな時は、iconv
やnkf
など文字コードを変換できるコマンドと合わせて使えば問題なしです。
$ aws s3 cp s3://pon-bucket/fuga.md - | iconv -f sjis
スティーブ・ジョブス
「時間は限られているのだから、他人の人生を生きて自分の時間を無駄に過ごしてはいけない」