いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

Nushellメモ-03 (外部コマンドの結果をリダイレクト)

関連記事

GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ

概要

以下、自分用のメモです。忘れないうちにメモメモ。。。

Nushell上で、外部コマンド(例えば、/usr/bin/ls とか)の出力をリダイレクトしたい場合

いつも通りやると、エラーとなります。nushell上では > に意味を持っているからです。

~> ^ls > out.txt
/usr/bin/ls: cannot access '>': No such file or directory
/usr/bin/ls: cannot access 'out.txt': No such file or directory

Nushell上で、同じことをする場合は

  • 標準出力は out> または o>
  • 標準エラー出力は err> または e>
  • out+err> で両方をリダイレクト

となります。

~> cd /bin
/bin> ^ls out> /tmp/out.txt

#
# 外部コマンド使って、先頭10行と末尾10行を表示
#
/bin> (^cat  /tmp/out.txt | ^head -n 10; ^cat  /tmp/out.txt | ^tail -n 10)
FileCheck-18
GET
HEAD
NF
POST
UnicodeNameMappingGenerator-18
X11
[
aa-enabled
aa-exec
zip
zipcloak
zipdetails
zipgrep
zipinfo
zipnote
zipsplit
zless
zmore
znew


#
# 同じことを Nushell のコマンドで実施
#
/bin> (let lines = open /tmp/out.txt | lines ; ($lines | first 10) | append ($lines | last 10)) | str join "\n"
FileCheck-18
GET
HEAD
NF
POST
UnicodeNameMappingGenerator-18
X11
[
aa-enabled
aa-exec
zip
zipcloak
zipdetails
zipgrep
zipinfo
zipnote
zipsplit
zless
zmore
znew

参考情報

www.nushell.sh

stackoverflow.com


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。