ゆるゆるエンジニアブログ

ゆるいブログ。エンジニアの日常。

【Linux】出力するファイル名に日付を付け加える【Flutter】

コマンドでファイルを作成する際、ファイル名に作成当日の日付を付け加える方法。

方法

例としてflutter doctorを実行した結果をlog_(ここに当日の日付).txtという形式で出力する。

flutter doctor > log_$(date +%Y%m%d).txt

上記を実行するとlog_20220511.txtというファイルが出力された。

説明

上記はdateコマンドを使用して日付を付け加えている。

dateコマンドはそのまま実行すると

date

output: 2022年 5月11日 水曜日 22時49分35秒 JST

のようにファイル名に付け加えるには向かない形式で日付が出力される。 そこでフォーマットを指定する。

フォーマットはオプションとは異なり、頭に+をつける。 また

  • %Y: 年
  • %m: 月
  • %d: 日

をそれぞれ表す。他にもオプションやフォーマット記号があるので、知りたい方は以下記事などを参照してほしい。

access.redhat.com

【Flutter】ログをテキストファイルに出力する

Flutterのコマンドを実行してそのログをテキストファイルに出力する方法。

方法

例として flutter doctor を実行し、その結果を flutter_doctor_log.txt というテキストファイルに出力する。 私はmacのterminalで実行したが、windowsでも実行可能。

flutter doctor > flutter_doctor_log.txt

これを実行することで、実行した時のディレクトリにflutter_doctor_log.txtというテキストファイルが作成されているはず。 私の環境ではテキストファイルの中身は以下。

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.4, on macOS 12.3.1 21E258 darwin-arm, locale ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.1)
[✓] VS Code (version 1.66.2)
[✓] Connected device (1 available)
[✓] HTTP Host Availability

• No issues found!

しっかりとflutter doctorの出力結果が表示されている。

説明

上記のコマンドはリダイレクトというコマンドを使っている。

リダイレクトとはすごい簡単に言うと「">"の左側のコマンドの結果を、">"の右のコマンドの入力として渡す」というもの。 方法で実行したコマンドの場合、flutter doctorを実行して得られる出力をflutter_doctor_log.txtの入力に渡しているという感じ。

詳しく知りたい方は他の方が書いた記事を参照してほしい。 例えば以下など。

linux.keicode.com