zsh入門 パート2at UNIX
zsh入門 パート2 - 暇つぶし2ch930:名無しさん@お腹いっぱい。
04/02/26 12:47
てゆーか何に使いたいの?
% ls -1 |egrep `echo $1 |migemo -t egrep /usr/share/migemo/migemo-dict`
使用法: grep [オプション]‥‥ 文字列パターン [ファイル]‥‥
詳しくは`grep --help'を実行してください。
%
となるが

931:名無しさん@お腹いっぱい。
04/02/26 13:15
いや、ファイル名の補完に使いたいのだろう、それは

932:927
04/02/26 15:35
>>930
$1 の所に何か文字を入れなきゃ駄目です。
例えば

% ls -1
あいうえお.sh
愛人.txt
aiko.dic
aho.max
baka.mix

というディレクトリでは、ai という文字で補完すると

% ls -1 |egrep `echo ai |migemo -t egrep /usr/share/migemo/migemo-dict`
あいうえお.sh
愛人.txt
aiko.dic

こういう結果が出ます。この出力を補完のリストに使えないかということです。

% cat ai(ここで C-i すると)

% cat ai
あいうえお.sh 愛人.txt aiko.dic

こんな風に補完の候補が出るような。

僕個人は日本語ファイル名はほとんど付けないんですが、
単にできたら面白いなと思っただけです。

933:名無しさん@お腹いっぱい。
04/02/26 19:25
あぁ、migemoつきemacsのdiredモードみたいに使いたいわけね


934:名無しさん@お腹いっぱい。
04/02/27 17:40
927製の
zmodload migemo
待ちsage


935:927
04/02/28 01:00
できなくはなさそうですが、
C-i するたびに補完のリストを動的に作り直す必要があるので、
単純に compadd では駄目みたいです。
compadd 以外のやり方を知らないので、つまってます。

あと補完の候補が複数ある時、

% cat ai
あいうえお.sh 愛人.txt aiko.dic

こういう出力を期待してましたが、

% cat ai
\M-5\M-k\M-N\M-A\M-7\M-W\M-;.sh \M-5\M-k\M-N\M-A\M-7\M-W\M-;.txt aiko.dic

こんな風に出てしまう。これは zsh を直さないと無理っぽいです。

>>933
emacs の shell とか eshell とかでならもっと作りやすいかも知れません。
でも自分は shell-mode 使わないからなあ。

936:名無しさん@お腹いっぱい。
04/02/28 02:03
後者は setopt printeightbit という話じゃないの

937:927
04/02/28 02:41
おー、すばらしい。

938:927
04/02/28 02:42
おー、すばらしい。ありがとう。

939:名無しさん@お腹いっぱい。
04/02/28 19:57
うわさの zsh 本はどうなったの?

940:名無しさん@お腹いっぱい。
04/03/02 03:35
~/hoge/foo.log
~/hoge/foo.error
~/hoge/foo.today
~/hoge/foo.yesterday

というファイルを元に動く bar というコマンドがあって、
$ bar log
$ bar error
$ bar today
$ bar yesterday

という風に foo を無くした引数を指定します。この引数を補完させたいのですが
何か良い手はありませんでしょうか?

zshの補完機能は便利だけどややこしいですね。

941:名無しさん@お腹いっぱい。
04/03/02 05:24
至極単純にやるとすれば、こんな感じ。

_bar () {
compadd ~/hoge/foo.*(:t:e)
}
compdef _bar bar

942:940
04/03/04 04:47
なるほど。ありがとう。

精進します。

943:名無しさん@お腹いっぱい。
04/03/07 03:05
compaddってググっても殆ど情報ないんだが
マイナーなのか?

944:名無しさん@お腹いっぱい。
04/03/07 03:15
というかzsh自体、評判の割に日本語の情報が全然ないと思う。
自分が書ければ書くんだけど、compaddとか分からんからなぁ

945:名無しさん@お腹いっぱい。
04/03/07 17:48
UnixUser の連載の記事は、compsys を見通すには、なかなかまとまっていて
丁度良かった。

946:名無しさん@お腹いっぱい。
04/03/09 09:45
a

947:名無しさん@お腹いっぱい。
04/03/19 22:46
スレリンク(unix板:548番)
> これ以上はzshスレで。

えーと、やりたいこと書きますね。=() は知っていますけど、この場合は使え
ませんよね。

#! /usr/local/bin/zsh -f

cd /service/smtpd/log/main
TODAY=`date -d yesterday +%Y-%m-%d`
WORK=(make-temp-file "/tmp/work")
grep -h SBL *.s current | tai64nlocal | grep $TODAY > $WORK
echo >> $WORK
grep -h SBL *.s current | tai64nlocal | grep $TODAY | gawk '{ print $4 }' | sort -nu | dnsfilter >> $WORK
for i in `grep -h SBL *.s current | tai64nlocal | grep $TODAY | gawk '{ print $4 }' | sort -nu`; do
echo >> $WORK
echo % whois $i >> $WORK
whois $i >> $WORK
done

mailsubj "[rblsmtpd] $TODAY" giko@example.com < $WORK
rm -f $WORK

948:名無しさん@お腹いっぱい。
04/03/19 22:50
ついでに、4.2.0 age

949:名無しさん@お腹いっぱい。
04/03/20 00:06
要は一時ファイルくらいを作ってほしいということなのか。
zsh は関係ないな

950:名無しさん@お腹いっぱい。
04/03/20 01:00
emacs の with-temp-buffer とか便利だよね。
まあ shell では自分でウニクなtmpfile 作る function 作ればいいんじゃないの。

951:名無しさん@お腹いっぱい。
04/03/20 07:27
>>947
> えーと、やりたいこと書きますね。=() は知っていますけど、この場合は使え
> ませんよね。

? 素直に使えるよ?

> WORK=(make-temp-file "/tmp/work")
ちゃんと理解しているならこうはしないと思うけど。

#!/usr/local/bin/zsh -f
WORK==(true)
echo WORK=$WORK
echo hoge >> $WORK
echo moge >> $WORK
echo ---
cat $WORK
echo ---
# rm -f $WORK


952:951
04/03/20 07:35
あと、ふつうはこういうのはパイプでつなげるね。
(
grep ほにゃらら
grep はにゃらら
てんてんてん
) | mailsubj なんとやら

てな具合に。


953:名無しさん@お腹いっぱい。
04/03/21 01:02
あーん、今さっき、間違えて $HOME 以下をすべて消してしまったよう。
せっかく確認のプロンプトが出たのに、反射的に y 押しちゃった。

深刻な被害は無かったけど、こんな僕のためにも確か、
rm * コマンドを cp * /tmp/trash に変えてくれるようなscript か alias があったはず。

誰かスマートなサンプルを頼む。
出来れば、/tmp/trash/20040321_010023/* とかに cp されるほうが良い。


954:名無しさん@お腹いっぱい。
04/03/21 01:10
>>953
rmstar?

955:名無しさん@お腹いっぱい。
04/03/21 01:11
>>953
こんなかんじか?
function rm {
mkdir -p /tmp/trash`date +%m%d`
mv "$*" /tmp/trash`date +%m%d`
}

956:名無しさん@お腹いっぱい。
04/03/21 01:42
>>954
いえ、rmstar すら効かなかった馬鹿者なんです、私。

>>955
なるふぉど、いただきますです。

957:名無しさん@お腹いっぱい。
04/03/21 01:46
>>956
date の引数適当なので、好みに修正してね

958:名無しさん@お腹いっぱい。
04/03/21 01:47
cp しても意味ないのでは?

959:名無しさん@お腹いっぱい。
04/03/21 02:42
>>958
どうした 誤爆か?

960:名無しさん@お腹いっぱい。
04/03/21 02:46
>>959
あ? 知的障害者か? rm のかわりに、cp じゃ意味ないだろって意味なんだが??

961:名無しさん@お腹いっぱい。
04/03/21 02:51
誰もcpしてないじゃん

>>955が適切にmvで書いて
それを戴いたと>>956が言ってんだからそれで終りでいいじゃない。

今更ツッコミ入れる>>960は陰険

962:名無しさん@お腹いっぱい。
04/03/21 02:55
>>954 = >>955 = >>957 = >>958 = >>960 ですが何か?



963:名無しさん@お腹いっぱい。
04/03/21 02:56
>>961
> 誰もcpしてないじゃん
>>953
> rm * コマンドを cp * /tmp/trash に変えてくれるようなscript か alias があったはず。
> 出来れば、/tmp/trash/20040321_010023/* とかに cp されるほうが良い。


964:名無しさん@お腹いっぱい。
04/03/21 02:59
それを真に受けた馬鹿が居なかったんだからそれでいいじゃん
って言ってもわからんか。

いつまでも粘着したいのね。
たち悪いなぁ。

965:名無しさん@お腹いっぱい。
04/03/21 03:04
結果的に誰もcpしなかったんだから
わざわざツッコム必要なかったんでないのってことじゃねーノ


966:名無しさん@お腹いっぱい。
04/03/21 03:07
>>961==>>964==>>965必死だなw


967:名無しさん@お腹いっぱい。
04/03/21 03:08
最初に cp って書いた私が悪いんです。
すんませんでした。


では、次の話題へ。

968:名無しさん@お腹いっぱい。
04/03/21 03:09
>>966
見苦すぃ

969:名無しさん@お腹いっぱい。
04/03/21 03:12
陰険な粘着は以後放置の方向でよろしく


970:名無しさん@お腹いっぱい。
04/03/21 03:19
最近 bash から zsh に乗り換えたのですが
zsh の恩恵が実感できる処理方法を御教え頂けたらと

971:名無しさん@お腹いっぱい。
04/03/21 03:21
>>969
やはり2chなどクズの巣窟だなw
俺の質問に答えられない歯がゆさから三流の煽りをしなくてもいいぞ
お前は世の中に必要とされていない人間だからな。


972:名無しさん@お腹いっぱい。
04/03/21 03:21
>>970
info zsh

973:名無しさん@お腹いっぱい。
04/03/21 04:13
そういや、もう春休みだね
だから>>971みたいのが夜中まで頑張ってんだなぁ

974:名無しさん@お腹いっぱい。
04/03/21 04:16
>>971-973
俺はこの3人は同レベルだと思った。


975:974
04/03/21 04:21
× 同レベル
○ 役立たず

すまそ。



976:名無しさん@お腹いっぱい。
04/03/21 04:26
(= >>974 >>970)
=> t か?




977:名無しさん@お腹いっぱい。
04/03/21 04:37
>>976
それが洒落てるとでも思ってんのか?

978:名無しさん@お腹いっぱい。
04/03/21 04:47
>>977
だったら何? bash しか使えない低能がw

979:名無しさん@お腹いっぱい。
04/03/21 05:04
以降は↓で ;-)
スレリンク(unix板)

980:見苦すぃ
04/03/21 05:08
>>968-
俺はこいつらは同レベルだと思った。

981:名無しさん@お腹いっぱい。
04/03/21 05:11
>>980
自分も含むのね ;-)

982:名無しさん@お腹いっぱい。
04/03/21 05:44
981 氏の職業ってなに?

983:名無しさん@お腹いっぱい。
04/03/21 05:51
>>982
講師

984:名無しさん@お腹いっぱい。
04/03/21 10:08
>>982
大学教授

985:名無しさん@お腹いっぱい。
04/03/21 14:49
ケアマネ

986:名無しさん@お腹いっぱい。
04/03/22 02:20


           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


987:名無しさん@お腹いっぱい。
04/03/22 02:21
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


988:名無しさん@お腹いっぱい。
04/03/22 02:22
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


989:名無しさん@お腹いっぱい。
04/03/22 02:23
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


990:名無しさん@お腹いっぱい。
04/03/22 02:24
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


991:名無しさん@お腹いっぱい。
04/03/22 02:25
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


992:名無しさん@お腹いっぱい。
04/03/22 02:26
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


993:名無しさん@お腹いっぱい。
04/03/22 02:29
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ


994:名無しさん@お腹いっぱい。
04/03/22 02:31
           ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、            ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、            ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》            ,..-‐-- 、、
         ,ィ":::::::::::::::::::;;;;;:ii>;,、
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
  
          ヽ    ''  .:/
           > ‐- 、、ノ
       /:::::::::::::::;;;;;;;;iii彡" :ヤi、
       i::::::::::::;:"~ ̄     ::i||li
       |:::::::::j'_,.ィ^' ‐、 _,,. ::iii》
        |:::i´`  `‐-‐"^{" `リ"
        ヾ;Y     ,.,li`~~i
         `i、   ・=-_、, .:/
          ヽ    ''  .:/
           > ‐- 、、ノ

 difficult!!
   


995:名無しさん@お腹いっぱい。
04/03/22 02:32
abc
   

996:名無しさん@お腹いっぱい。
04/03/22 02:34
   /::::::::::,,:::::::::::::::::::::ヽ   
 /:::::::::::,,,::::::::::::::::::::::::::::::ヽ
/::::::::::::::,,,,:::::::::::::::::::::::::::::::::::ヽ、
|::::::/⌒ ^ ⌒ \:::::::::::::::::::::::::ヽ. 
|:::::|      /ヽ::::::::::::::::::::::|
|:::::|\   /  ヽ::::::::::::::::::::| 
ヽ:::|<(|  こ(>  \|ヽ:::::::::|   ..
 ヽ| 丨        J:::::::::|    .
  \ L        ヽ::::::/     .
    \ー―┘     |:::/  
  __\__/  /V_____
/;;;;;;;;;/ く    /  ∧;;;;;;;;;;;;;;;;;;


997:名無しさん@お腹いっぱい。
04/03/22 02:35
   /::::::::::,,:::::::::::::::::::::ヽ   
 /:::::::::::,,,::::::::::::::::::::::::::::::ヽ
/::::::::::::::,,,,:::::::::::::::::::::::::::::::::::ヽ、
|::::::/⌒ ^ ⌒ \:::::::::::::::::::::::::ヽ. 
|:::::|      /ヽ::::::::::::::::::::::|
|:::::|\   /  ヽ::::::::::::::::::::| 
ヽ:::|<(|  こ(>  \|ヽ:::::::::|   ..   /::::::::::,,:::::::::::::::::::::ヽ   
 /:::::::::::,,,::::::::::::::::::::::::::::::ヽ
/::::::::::::::,,,,:::::::::::::::::::::::::::::::::::ヽ、
|::::::/⌒ ^ ⌒ \:::::::::::::::::::::::::ヽ. 
|:::::|      /ヽ::::::::::::::::::::::|
|:   /::::::::::,,:::::::::::::::::::::ヽ   
 /:::::::::::,,,::::::::::::::::::::::::::::::ヽ
/::::::::::::::,,,,:::::::::::::::::::::::::::::::::::ヽ、
|::::::/⌒ ^ ⌒ \:::::::::::::::::::::::::ヽ. 
|:::::|      /ヽ::::::::::::::::::::::|
|:::::|\   /  ヽ::::::::::::::::::::| 
ヽ:::|<(|  こ(>  \|ヽ:::::::::|   ..
 
 ヽ| 丨        J:::::::::|    .
  \ L        ヽ::::::/     .
    \ー―┘     |:::/  
  __\__/  /V_____
/;;;;;;;;;/ く    /  ∧;;;;;;;;;;;;;;;;;;


998:名無しさん@お腹いっぱい。
04/03/22 02:36
   /::::::::::,,:::::::::::::::::::::ヽ   
 /:::::::::::,,,::::::::::::::::::::::::::::::ヽ
/::::::::::::::,,,,:::::::::::::::::::::::::::::::::::ヽ、
|::::::/⌒ ^ ⌒ \:::::::::::::::::::::::::ヽ. 
|:::::|      /ヽ::::::::::::::::::::::|
|:::::|\   /  ヽ::::::::::::::::::::| 
ヽ:::|<(|  こ(>  \|ヽ:::::::::|   ..
 ヽ| 丨        J:::::::::|    .
  |
 \ L        ヽ::::::/     .
    \ー―┘     |:::/  
  __\__/  /V_____
/;;;;;;;;;/ く    /  ∧;;;;;;;;;;;;;;;;;;


999:名無しさん@お腹いっぱい。
04/03/22 02:37
test

1000:名無しさん@お腹いっぱい。
04/03/22 02:37
\\___finish///

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

1002:名無しさん@お腹いっぱい。
04/03/22 21:57
やほ♪

1003:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch