From c754d24b162ecd504f3c4bdd8632045dd0398768 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 27 Nov 2025 05:05:04 +0900 Subject: feat(nuldoc): Djot to Markdown --- .../zip-function-like-command-paste-command.dj | 94 ---------------------- .../zip-function-like-command-paste-command.md | 92 +++++++++++++++++++++ 2 files changed, 92 insertions(+), 94 deletions(-) delete mode 100644 services/nuldoc/content/posts/2025-03-27/zip-function-like-command-paste-command.dj create mode 100644 services/nuldoc/content/posts/2025-03-27/zip-function-like-command-paste-command.md (limited to 'services/nuldoc/content/posts/2025-03-27') diff --git a/services/nuldoc/content/posts/2025-03-27/zip-function-like-command-paste-command.dj b/services/nuldoc/content/posts/2025-03-27/zip-function-like-command-paste-command.dj deleted file mode 100644 index 4497799..0000000 --- a/services/nuldoc/content/posts/2025-03-27/zip-function-like-command-paste-command.dj +++ /dev/null @@ -1,94 +0,0 @@ ---- -[article] -uuid = "99111377-27e7-427b-9dc5-a23f621fa826" -title = "zip 関数のようなコマンド paste" -description = "zip 関数のような動きをする paste コマンドについてのメモ。" -tags = [ - "note-to-self", -] -toc = false - -[[article.revisions]] -date = "2021-03-22" -remark = "デジタルサーカス株式会社の社内記事として公開" -isInternal = true - -[[article.revisions]] -date = "2025-03-27" -remark = "ブログ記事として一般公開" ---- -::: note -この記事は、2021-03-22 に [デジタルサーカス株式会社](https://www.dgcircus.com/) の社内 Qiita Team に公開された記事をベースに、加筆修正して一般公開したものです。 -::: - -{#intro} -# 実現したい内容 - -次の2ファイル `a.txt` / `b.txt` から出力 `ab.txt` を得たい。 - -`a.txt` - -``` -a1 -a2 -a3 -``` - -`b.txt` - -``` -b1 -b2 -b3 -``` - -`ab.txt` - -``` -a1 -b1 -a2 -b2 -a3 -b3 -``` - -ちょうど Python や Haskell などにある `zip` 関数のような動きをさせたい。 - -{#paste-command} -# 実現方法 - -記事タイトルに書いたように、`paste` コマンドを使うと実現できる。 - -``` -$ paste -d '\ -' a.txt b.txt > ab.txt -``` - -`paste` コマンドは複数のファイルを引数に取り、それらを1行ずつ消費しながら `-d` で指定した文字で区切って出力する。 -`-d` は区切り文字の指定で、デフォルトだとタブ区切りになる。 - -ファイル名には `-` を指定でき、その場合は標準入力から読み込んで出力する。 -このとき `paste - -` のように複数回 `-` を指定すると、指定した回数の行ごとに連結することができる。 -例えば `ab.txt` だとこうなる。 - -``` -$ paste - - < ab.txt -a1 b1 -a2 b2 -a3 b3 -``` - -これは標準入力を使うとき特有の挙動で、単に同じファイル名を指定してもこうはならない。 - -``` -$ paste ab.txt ab.txt -a1 a1 -b1 b1 -a2 a2 -b2 b2 -a3 a3 -b3 b3 -``` - -ときどき便利。 diff --git a/services/nuldoc/content/posts/2025-03-27/zip-function-like-command-paste-command.md b/services/nuldoc/content/posts/2025-03-27/zip-function-like-command-paste-command.md new file mode 100644 index 0000000..8a0807b --- /dev/null +++ b/services/nuldoc/content/posts/2025-03-27/zip-function-like-command-paste-command.md @@ -0,0 +1,92 @@ +--- +[article] +uuid = "99111377-27e7-427b-9dc5-a23f621fa826" +title = "zip 関数のようなコマンド paste" +description = "zip 関数のような動きをする paste コマンドについてのメモ。" +tags = [ + "note-to-self", +] +toc = false + +[[article.revisions]] +date = "2021-03-22" +remark = "デジタルサーカス株式会社の社内記事として公開" +isInternal = true + +[[article.revisions]] +date = "2025-03-27" +remark = "ブログ記事として一般公開" +--- +:::note +この記事は、2021-03-22 に [デジタルサーカス株式会社](https://www.dgcircus.com/) の社内 Qiita Team に公開された記事をベースに、加筆修正して一般公開したものです。 +::: + +# 実現したい内容 {#intro} + +次の2ファイル `a.txt` / `b.txt` から出力 `ab.txt` を得たい。 + +`a.txt` + +``` +a1 +a2 +a3 +``` + +`b.txt` + +``` +b1 +b2 +b3 +``` + +`ab.txt` + +``` +a1 +b1 +a2 +b2 +a3 +b3 +``` + +ちょうど Python や Haskell などにある `zip` 関数のような動きをさせたい。 + +# 実現方法 {#paste-command} + +記事タイトルに書いたように、`paste` コマンドを使うと実現できる。 + +``` +$ paste -d '\ +' a.txt b.txt > ab.txt +``` + +`paste` コマンドは複数のファイルを引数に取り、それらを1行ずつ消費しながら `-d` で指定した文字で区切って出力する。 +`-d` は区切り文字の指定で、デフォルトだとタブ区切りになる。 + +ファイル名には `-` を指定でき、その場合は標準入力から読み込んで出力する。 +このとき `paste - -` のように複数回 `-` を指定すると、指定した回数の行ごとに連結することができる。 +例えば `ab.txt` だとこうなる。 + +``` +$ paste - - < ab.txt +a1 b1 +a2 b2 +a3 b3 +``` + +これは標準入力を使うとき特有の挙動で、単に同じファイル名を指定してもこうはならない。 + +``` +$ paste ab.txt ab.txt +a1 a1 +b1 b1 +a2 a2 +b2 b2 +a3 a3 +b3 b3 +``` + +ときどき便利。 -- cgit v1.2.3-70-g09d2