すぎゃーんメモ Twitter

2009-03-19

zshの先方予測、リダイレクト

  • 先方予測機能

【コラム】漢のzsh (6) 漢はだまって先方予測 - あなたはこの機能使いこなせるか | エンタープライズ | マイナビニュース

autoload predict-on
predict-on

コマンド履歴から学習し、途中までの入力に対してコマンドを予測して表示してくれる。

同じコマンドを引っ張ってくるにも履歴から検索する必要もなくなるし、すげー便利かも。

【コラム】漢のzsh (7) ひと味違うzshのリダイレクト | エンタープライズ | マイナビニュース

zshは同時に複数のファイルリダイレクトすることができるらしい。

$ echo hoge > fuga > piyo
$ wc fuga piyo 
       0       0       0 fuga
       1       1       5 piyo
       1       1       5 total
$ 

fugaには何も書き込まれず、piyoにだけ書き込まれる。

% echo hoge > fuga > piyo
% wc fuga piyo
       1       1       5 fuga
       1       1       5 piyo
       2       2      10 total

両方に書き込まれる。


cat/moreのように読むことができる。

% < fuga < piyo
hoge
hoge

ものすごく急いでいるときにファイルの中身を読みたい、とかだったら使えるかも。急いでるときに思い出せるかどうか分からないけど。

そうでなければ普通にcatで繋げてlessとかの方がいいかも?

上記を使えば、以下のようにファイルのコピーを記述することができる。

% < fuga > hoge
% diff fuga hoge
% 

要はfugaをcatした内容をhogeに流し込んでいるだけなんだけど、まぁこういう書き方ができる、ということで。普通はcp使えば良い。


    • パイプとの連携

zshはパイプもリダイレクトの対象になる、とのこと。

% echo hoge > fuga
% < fuga > piyo | cat
hoge

ファイルコピーと同時にパイプに内容を渡している。これはcpコマンドではできない。

使いどころによっては便利かも?


そもそも「ファイルグロブ」っていう用語を初めて知った。

UNIXの部屋 コマンド検索:ファイルグロブ (*BSD/Linux)

% touch hoge1 hoge2 hoge3
% < hoge1 < hoge2 < hoge3
% echo hoge > hoge?
% < hoge?
hoge
hoge
hoge

リダイレクト先のファイル名に、ワイルドカードを使って複数指定ができる。これはbashには無い機能。

もちろん、リダイレクトからの入力にも使える。まぁこれは`cat hoge?`で表示させれば普通にできるか。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/sugyan/20090319/1237432536