なんだかGoodVibes

日々の勉強メモです。

【Deno】コマンドライン引数で指定されたファイルを標準出力する

こんにちは。
本日はDenoメモです。

概要

コマンドライン引数でファイルパスを与えて
そのファイルを読み込み、コンソールに出力するサンプルです。

catコマンドのような動作を期待したサンプルです。


サンプルコード

const files = Deno.args
for (const filename of files) {
    console.log(`[${filename}]`)
    const f = await Deno.open(filename)
    await f.readable.pipeTo(Deno.stdout.writable, { preventClose: true })
}

まず、Deno.argsを使用してコマンドライン引数を取得します。
取得する値は、string[]となっています。

次に、Deno.openで指定したファイルをオープンします。
戻り値はPromise < FsFile >です。

最後に、ReadableStreamのpipeToメソッドを使用して
指定したWritableStreamにパイプ接続します。
今回は、標準出力を指定しています。

本サンプルコードを、cat_sample.tsというファイル名で作成し、
Hello.txtというファイルを読み込む場合、以下のように実行します。

$ deno run --allow-read cat_sample.ts Hello.txt



以上です。