Ubuntu Online, Fedora Online, Windows online emulator เด เดฒเตเดฒเตเดเตเดเดฟเตฝ MAC OS เดเตบเดฒเตเตป เดเดฎเตเดฒเตเดฑเตเดฑเตผ เดเดจเตเดจเดฟเดเตเดเดจเตเดฏเตเดณเตเดณ เดเดเตเดเดณเตเดเต เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดธเตเดเดจเตเดฏ เดเตบเดฒเตเตป เดตเตผเดเตเดเตโเดธเตเดฑเตเดฑเตเดทเดจเตเดเดณเดฟเดฒเตเดจเตเดจเต เดเดชเดฏเตเดเดฟเดเตเดเต OnWorks เดธเตเดเดจเตเดฏ เดนเตเดธเตเดฑเตเดฑเดฟเดเดเต เดฆเดพเดคเดพเดตเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเดตเตเดจเตเดจ zsh-lovers เดเดจเตเดจ เดเดฎเดพเตปเดกเดพเดฃเดฟเดคเต.
เดชเดเตเดเดฟเด:
NAME
zsh-lovers - Z เดทเตเดฒเตเดฒเดฟเดจเตเดณเตเดณ เดจเตเดฑเตเดเตเดเตเดเดณเตเด เดคเดจเตเดคเตเดฐเดเตเดเดณเตเด เดเดฆเดพเดนเดฐเดฃเดเตเดเดณเตเด
เดธเดฟเดจเตเดชเตเดธเดฟเดธเต
เด เดคเต เดตเดพเดฏเดฟเดเตเดเดพเตฝ เดฎเดคเดฟ. ;-)
เดเตเดฐเตเดเตเดเดตเดฟเดตเดฐเดฃเดคเตเดคเดฟเดจเตเดณเตเดณ
เดเดเตเดเตพ zsh เดฎเดพเดจเตเดตเตฝ เดจเตเดเตเดเตเดฎเตเดชเตเดดเตเดฒเตเดฒเดพเด เดเดฆเดพเดนเดฐเดฃเดเตเดเดณเต เดฒเดณเดฟเดคเดฎเดพเดฏเดฟเดฏเต เดเดฒเตเดฒเดพเดคเตเดคเดคเต เดเดจเตเดคเตเดเตเดฃเตเดเตเดจเตเดจเต เดเดเตเดเตพ เดเดฟเดจเตเดคเดฟเดเตเดเตเดจเตเดจเต
(เดทเตเตฝ) เดเตเดตเดฟเดคเดคเตเดคเดฟเดฒเต เดเดพเดฐเตเดฏเดเตเดเตพ. zsh-เตฝ เดจเดฟเดฐเดตเดงเดฟ เดธเดตเดฟเดถเตเดทเดคเดเตพ เด เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต, เดเดจเตเดจเดพเตฝ เดเดฟเดฒเดคเต เดเดณเตเดณ เดเดฐเต manpage เดเดฃเตเดเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดฒเตเดฒ
เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ (เดชเตเดฒเต procmailex(5)). เด เดคเตเดเตเดฃเตเดเดพเดฃเต เดเดเตเดเตพ เด เดฎเดพเตปเดชเตเดเต เดเดดเตเดคเดฟเดฏเดคเต.
เดฎเดฟเดเตเด เดคเดจเตเดคเตเดฐเดเตเดเดณเตเด เดตเตบเดฒเตเดจเดฑเตเด เดฎเตเดฏเดฟเดฒเดฟเดเดเต เดฒเดฟเดธเตเดฑเตเดฑเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเดพเดฃเต เดตเดฐเตเดจเตเดจเดคเต zsh-users, zsh-workers, google,
เดตเดพเตผเดคเตเดคเดพ เดเตเดฐเตเดชเตเดชเตเดเดณเตเด เดเดเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด. เดตเดฟเดญเดพเดเด เดเดพเดฃเตเด เดฒเดฟเดเตเดเตเดเตพ เดตเดฟเดตเดฐเดเตเดเตพเดเตเดเต.
เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเด: เด เดฎเดพเตปเดชเตเดเต (zsh-เดชเตเดฐเตเดฎเดฟเดเตพ(1)) เดเดฃเต เด เดฒเตเดฒ Z เดทเตเดฒเตเดฒเดฟเดจเตเดฑเต เดเดฐเต เดเดฆเตเดฏเตเดเดฟเด เดญเดพเดเด! เด เดคเตเดฐเต เดจเตเดฏเดพเดฏเด เดฎเดพเดคเตเดฐเด
เดตเดฟเดจเตเดฆเดคเตเดคเดฟเดจเดพเดฏเดฟ - manpage ;) เด เดญเดฟเดชเตเดฐเดพเดฏเดเตเดเตพ, เดฌเดเต เดฑเดฟเดชเตเดชเตเตผเดเตเดเตเดเตพ, เดซเตเดกเตโเดฌเดพเดเตเดเต เดเดจเตเดจเดฟเดตเดฏเตโเดเตเดเต เดชเตเดเตเดเตเดจเตเดจเต เดจเตเดเตเดเต
เดตเดฟเดญเดพเดเด เดฌเดเตเดเตพ.
เดทเตเตฝ-เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดเดเต
เดชเดฒเดชเตเดชเตเดดเตเด เดเดตเดถเตเดฏเดฎเตเดณเตเดณ เดทเตเตฝเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต-เดธเตเดฑเตเดฑเดซเตเดเตพเดเตเดเต เด เดตเดฟเดญเดพเดเด เดเดฟเดฒ เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ เดจเตฝเดเตเดจเตเดจเต. เดจเดฟเดเตเดเตพ เด เดคเต เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเด
เดเดชเดฏเตเดเดฟเดเตเดเดฐเตเดคเต เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดฎเดฟเดเตเด เดเดฆเดพเดนเดฐเดฃเดเตเดเดณเตเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดฟเดฒเตเดฒ. เดทเตเตฝเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตเดเดณเดฟเตฝ เดชเดพเดดเตเดธเต เดเดชเตเดทเดจเตเดเตพ. เดเดฆเดพเดนเดฐเดฃเด
ZWS-เตฝ เดจเดฟเดจเตเดจเต เดเดฆเด เดเตเดกเตเดฑเตเดตเตเดธเตเดเดฟ เดเดเตเดคเตเดคเดคเต (http://www.chodorowski.com/projects/zws/):
parse_options()
{
o_port=(-p 9999)
o_root=(-r WWW)
o_log=(-d ZWS.log)
zparseopts -K -- p:=o_port r:=o_root l:=o_log h=o_help
เดเดเตเดเดฟเตฝ [[ $? != 0 || "$o_help" != "" ]]; เดชเดฟเดจเตเดจเต
เดเดเตเดเต เดเดชเดฏเตเดเด: $(เด เดเดฟเดธเตเดฅเดพเดจ เดจเดพเดฎเด "$0") "[-p เดชเตเตผเดเตเดเต] [-r เดกเดฏเดฑเดเตโเดเดฑเดฟ]"
เดชเตเดฑเดคเตเดคเตเดเดเดเตเดเตเด 1
fi
เดชเตเตผเดเตเดเต=$o_port[2]
เดฑเตเดเตเดเต=$o_root[2]
เดฒเตเดเต=$o_log[2]
เดเดเตเดเดฟเตฝ [[ $root[1] != '/' ]]; เดคเตเดเตผเดจเตเดจเต เดฑเตเดเตเดเต="$PWD/$root"; fi
}
# เดเดชเตเดชเตเตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดเดชเดฏเตเดเดฟเดเตเดเตเด:
parse_options $*
เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ
เดฒเดญเตเดฏเดฎเดพเดฏ เดเดชเดตเดฟเดญเดพเดเดเตเดเตพ เดเดตเดฏเดพเดฃเต เด เดชเดฐเดจเดพเดฎเดเตเดเตพ, เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเตฝ, เดคเดฐเดเดคเดฟเดฐเดฟเดเตเดเดฟเดเตเดเดฟเดฒเตเดฒ/เดเดคเดฐ เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ, (เดเดตเตผเดคเตเดคเดจเดชเดฐเด)
เดเตเดฒเตเดฌเดฟเดเดเต - เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ, เดฎเตเดกเดฟเดซเดฏเดฑเตเดเตพ เดเดชเดฏเตเดพเดเด, เดฑเตเดกเดฏเดฑเดเตเดทเตป-เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ, ZMV-เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ เดเดชเตเดชเด
เดฎเตเดกเตเดฏเตเตพ-เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ.
เด เดชเดฐเดจเดพเดฎเดเตเดเตพ
เดชเดคเดฟเดชเตเดชเต 4.2.0 เดฎเตเดคเตฝ zsh-เตฝ เดธเดซเดฟเดเตเดธเต เด เดชเดฐเดจเดพเดฎเดเตเดเตพ เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเดจเตเดจเต. เดเดฟเดฒ เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ:
เด เดชเดฐเดจเดพเดฎเด -s tex=vim
เด เดชเดฐเดจเดพเดฎเด -s html=w3m
เด เดชเดฐเดจเดพเดฎเด -s org=w3m
เดเดชเตเดชเตเตพ เดชเตเดฐเดตเตเดถเดฟเดเตเดเดคเดฟเดจเต เดถเตเดทเด เดฑเดฟเดเตเดเตเตบ เดเต เด เดฎเตผเดคเตเดคเตเด foobar.tex foobar.tex เดเดชเดฏเตเดเดฟเดเตเดเต vim เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเต. เด เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเต
html-file w3m เดเดจเตเดจ เดฌเตเดฐเตเดธเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต. www.zsh.org เดเดจเตเดฑเตผ เด เดฎเตผเดคเตเดคเตเดจเตเดจเดคเต เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเดฟเตฝ w3m เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเต
www.zsh.org. เดเดฎเดพเตปเดกเต เดฒเตเดจเดฟเตฝ เดเดตเดฟเดเตเดฏเตเด เดเตเดฒเตเดฌเตฝ เด เดชเดฐเดจเดพเดฎเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเดพเด. เดเดฆเดพเดนเดฐเดฃเด:
$ เด เดชเดฐเดจเดพเดฎเด -g C='| wc -l'
$ grep เด เดชเดฐเดจเดพเดฎเด ~/.zsh/* เดธเดฟ
443
เดเตเดเตเดคเดฒเต เดเตเดฑเดตเต เดเดชเดฏเตเดเดชเตเดฐเดฆเดฎเดพเดฏ เดเดฟเดฒ เดเดเตเดณ เด เดชเดฐเดจเดพเดฎเดเตเดเตพ (เด เดต เดจเดฟเดเตเดเตพเดเตเดเต เดเดชเดฏเตเดเดชเตเดฐเดฆเดฎเดพเดฃเต เด เดฒเตเดฒเดฏเต เดเดจเตเดจเต เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเด
เดจเดฟเดเตเดเดณเตเดเต เดธเตเดตเดจเตเดคเด):
เด เดชเดฐเดจเดพเดฎเด -g ...='../..'
เด เดชเดฐเดจเดพเดฎเด -g ....='../../..'
เด เดชเดฐเดจเดพเดฎเด -g .....='../../../..'
alias -g CA="2>&1 | cat -A"
เด เดชเดฐเดจเดพเดฎเด -g C='| wc -l'
เด เดชเดฐเดจเดพเดฎเด -g D="DISPLAY=:0.0"
เด เดชเดฐเดจเดพเดฎเด -g DN=/dev/null
เด เดชเดฐเดจเดพเดฎเด -g ED="เดเดฏเดฑเตเดฑเตเดฎเดคเดฟ DISPLAY=:0.0"
เด เดชเดฐเดจเดพเดฎเด -g EG='|& egrep'
เด เดชเดฐเดจเดพเดฎเด -g EH='|& head'
เด เดชเดฐเดจเดพเดฎเด -g EL='|& เดเตเดฑเดตเต'
เด เดชเดฐเดจเดพเดฎเด -g ELS='|& เดเตเดฑเดตเต -S'
เด เดชเดฐเดจเดพเดฎเด -g ETL='|& เดตเดพเตฝ -20'
เด เดชเดฐเดจเดพเดฎเด -g ET='|& เดเตเดฏเดฟเตฝ'
เด เดชเดฐเดจเดพเดฎเด -g F=' | fmt -'
เด เดชเดฐเดจเดพเดฎเด -g G='| เดเดเตเดฐเตเดชเต'
เด เดชเดฐเดจเดพเดฎเด -g H='| เดคเดฒ'
เด เดชเดฐเดจเดพเดฎเด -g HL='|& head -20'
alias -g Sk="*~(*.bz2|*.gz|*.tgz|*.zip|*.z)"
alias -g LL="2>&1 | เดเตเดฑเดตเต"
เด เดชเดฐเดจเดพเดฎเด -g L="| เดเตเดฑเดตเต"
เด เดชเดฐเดจเดพเดฎเด -g LS='| เดเตเดฑเดตเต -เดเดธเต'
เด เดชเดฐเดจเดพเดฎเด -g MM='| เดเดฑเตเดฑเดตเตเด'
เด เดชเดฐเดจเดพเดฎเด -g M='| เดเตเดเตเดคเตฝ'
เด เดชเดฐเดจเดพเดฎเด -g NE="2> /dev/null"
เด เดชเดฐเดจเดพเดฎเด -g NS='| เด เดเตเดเตเดเตเด
เด เดชเดฐเดจเดพเดฎเด -g NUL="> /dev/null 2>&1"
เด เดชเดฐเดจเดพเดฎเด -g PIPE='|'
เด เดชเดฐเดจเดพเดฎเด -g R=' > /c/aaa/tee.txt '
เด เดชเดฐเดจเดพเดฎเด -g RNS='| เด เดเตเดเตเดเตเด -nr'
เด เดชเดฐเดจเดพเดฎเด -g S='| เด เดเตเดเตเดเตเด'
เด เดชเดฐเดจเดพเดฎเด -g TL='| เดตเดพเตฝ -20'
เด เดชเดฐเดจเดพเดฎเด -g T='| เดตเดพเตฝ'
เด เดชเดฐเดจเดพเดฎเด -g US='| เด เดเตเดเตเดเตเด -u'
เด เดชเดฐเดจเดพเดฎเด -g VM=/var/log/messages
เด เดชเดฐเดจเดพเดฎเด -g X0G='| xargs -0 egrep'
เด เดชเดฐเดจเดพเดฎเด -g X0='| xargs -0'
เด เดชเดฐเดจเดพเดฎเด -g XG='| xargs egrep'
เด เดชเดฐเดจเดพเดฎเด -g X='| xargs'
เดเตเดเดชเตเดฒเดฟเดทเตป
man 1 zshcompctl zshcompsys zshcompwid เดเดจเตเดจเดคเตเด เดเดพเดฃเตเด. zshcompctl เดเดจเตเดจเดคเต zsh เดจเตเดฑเต เดชเดดเดฏ เดถเตเดฒเดฟเดฏเดพเดฃเต
เดชเตเดฐเตเดเตเดฐเดพเดฎเดฌเดฟเตพ เดชเตเตผเดคเตเดคเตเดเดฐเดฃเด, zshcompsys เดเดจเตเดจเดคเต เดชเตเดคเดฟเดฏ เดชเตเตผเดคเตเดคเตเดเดฐเดฃ เดธเดเดตเดฟเดงเดพเดจเดฎเดพเดฃเต, zshcompwid เดเดฃเต zsh
เดชเตเตผเดคเตเดคเตเดเดฐเดฃ เดตเดฟเดเดฑเตเดฑเตเดเตพ.
_apt, _dpkg เดชเตเดฒเตเดณเตเดณ เดเดฟเดฒ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดตเดณเดฐเต เดฎเดจเตเดฆเดเดคเดฟเดฏเดฟเดฒเดพเดฃเต. เดชเตเดฐเตเดเตเดธเดฟ เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดเดพเดทเต เดเดชเดฏเตเดเดฟเดเตเดเดพเด
เดซเดฒเดเตเดเดณเตเดเต เดชเดเตเดเดฟเด (เดฒเดญเตเดฏเดฎเดพเดฏ เดกเตเดฌเดฟเดฏเตป เดชเดพเดเตเดเตเดเตเดเดณเตเดเต เดฒเดฟเดธเตเดฑเตเดฑเต เดชเตเดฒเต) เดเดฐเต เดเดพเดทเต เดเดชเดฏเตเดเดฟเดเตเดเตเด:
zstyle ':completion:*' use-cache on
zstyle ':completion:*' เดเดพเดทเต-เดชเดพเดคเตเดคเต ~/.zsh/เดเดพเดทเต
CVS เดซเดฏเดฒเตเดเตพ/เดกเดฏเดฑเดเตโเดเดฑเดฟเดเตพ เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดคเดเดฏเตเด:
zstyle ':completion:*:(all-|)files' เด เดตเดเดฃเดฟเดเตเดเดชเตเดชเตเดเตเด-เดชเดพเดฑเตเดฑเตเดฃเตเดเตพ '(|*/)CVS'
zstyle ':completion:*:cd:*' เด เดตเดเดฃเดฟเดเตเดเดชเตเดชเตเดเตเด-เดชเดพเดฑเตเดฑเตเดฃเตเดเตพ '(*/)#CVS'
เดจเดฟเดเตเดเตพ เดคเตเดฑเตเดฑเดพเดฏเดฟ เดเตเดชเตเดชเต เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ เดชเตเตผเดคเตเดคเตเดเดฐเดฃเดเตเดเดณเตเดเต เด เดตเตเดฏเดเตเดคเดฎเดพเดฏ เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดคเตเดคเตฝ:
zstyle ':completion:*' Complete _complete _match _abroximate
zstyle ':completion:*:match:*' เดเดฑเดฟเดเดฟเดจเตฝ เดฎเดพเดคเตเดฐเด
zstyle ':completion:*: approximate:*' max-Errors 1 เดธเดเดเตเดฏ
_เดเดเดฆเตเดถเด เด เดจเตเดตเดฆเดฟเดเตเด เดชเดฟเดถเดเตเดเดณเตเดเต เดเดฃเตเดฃเด เดฆเตเตผเดเตเดฏเดคเตเดคเดฟเดจเตเดชเตเดชเด เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเตพ เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเตเดตเตเดเตเดเดฟเตฝ
เดจเดฟเดเตเดเตพ เดเดคเตเดตเดฐเต เดเตเดชเตเดชเต เดเตเดฏเตเดคเดตเดฏเดฟเตฝ:
zstyle -e ':เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเตฝ:*:เดเดเดฆเตเดถเด:*' \
max-errors 'reply=($(($#PREFIX+$#SUFFIX)/3))เดธเดเดเตเดฏ)'
เดจเดฟเดเตเดเตพเดเตเดเต เดเดฒเตเดฒเดพเดคเตเดค เดเดฎเดพเตปเดกเตเดเตพเดเตเดเตเดณเตเดณ เดชเตเตผเดคเตเดคเตเดเดฐเดฃ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เด เดตเดเดฃเดฟเดเตเดเตเด:
zstyle ':completion:*:functions' เด เดตเดเดฃเดฟเดเตเดเดชเตเดชเตเดเตเด-เดชเดพเดฑเตเดฑเตเดฃเตเดเตพ '_*'
เดเดคเตเดชเตเดฒเตเดณเตเดณ เดธเดนเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพเดเตเดเตเดชเตเดชเด:
xdvi() {เดเดฎเดพเตปเดกเต xdvi ${*:-*.dvi(om[1])} }
เดจเดฟเดเตเดเตพเดเตเดเต เดชเดฒ เดธเดจเตเดฆเตผเดญเดเตเดเดณเดฟเดฒเตเด เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเตเดจเตเดจเดคเต เดเดดเดฟเดตเดพเดเตเดเดพเด, เดเดจเตเดจเดพเตฝ เดจเดฟเดเตเดเตพ เด เดเตเดเดจเต เดเตเดฏเตเดฏเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเตพ เดเดเตเดฐเดนเดฟเดเตเดเตเดเตเดเดพเด
เดฎเตเดจเต เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเดฒเดฟเตฝ เดเดเดจเดเดฟ เดตเตเดดเตเดเดฏเตเด เดตเดพเดเตเดเตเดเตพ เดธเดฎเดฏเดคเตเดคเดฟเดจเดจเตเดธเดฐเดฟเดเตเดเต เด เดเตเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด:
zstyle ':completion:*:*:xdvi:*' เดฎเตเดจเต เด เดคเต เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเด
zstyle ':completion:*:*:xdvi:*' เดซเดฏเตฝ เด เดเตเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดธเดฎเดฏเด
เดฎเตเดจเต เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตฝ เดเดชเดฏเตเดเดฟเดเตเดเต เดชเตเดฐเตเดธเดธเตเดธเต เดเดกเดฟเดเตพ เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดเตเดจเตเดจเต:
zstyle ':completion:*:*:kill:*' เดฎเตเดจเต เด เดคเต เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเด
zstyle ':completion:*:kill:*' force-list เดเดชเตเดชเตเดดเตเด
เดจเดฟเดเตเดเตพ เดเดฐเต เดกเดฏเดฑเดเตเดเดฑเดฟ เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเดพเดฏเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เด เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดเดคเต เดเตเดฐเตเดฏเดฟเดฒเดฟเดเดเต เดธเตเดฒเดพเดทเต เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด (เดเดชเดฏเตเดเดชเตเดฐเดฆเด
ln เตฝ)
zstyle ':completion:*' squeeze-slashes true
cd เดเดฐเดฟเดเตเดเดฒเตเด เดชเดพเดฐเดจเตเดฑเต เดกเดฏเดฑเดเตเดเดฑเดฟ เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเดฟเดฒเตเดฒ (เดเดฆเดพ: cd ../ ):
zstyle ':completion:*:cd:*'ignign-parents parent pwd
เดเดจเตเดจเดคเดฟเดจเดพเดฏเตเดณเตเดณ เดฎเดฑเตเดฑเตเดฐเต เดฐเตเดคเดฟ เดชเตเดเตเดเตเดจเตเดจเต เดฎเดพเดฑเตเดฑเด เดกเดฏเดฑเดเตเดเดฑเดฟเดเตพ. เดเดคเต เดจเดฟเดเตเดเดณเดฟเดฒเตเดเตเดเต เดเตเตผเดเตเดเตเด ~ / .zshrc, เดเดจเตเดจเดฟเดเตเดเต เดฎเดพเดคเตเดฐเด เดจเตฝเดเตเด
"cd ..../dir"
rationalise-dot() {
เดเดเตเดเดฟเตฝ [[ $LBUFFER = *.. ]]; เดชเดฟเดจเตเดจเต
LBUFFER+=/..
เดฎเดฑเตเดฑเดพเดฐเตเดเตเดเดฟเดฒเตเด
LBUFFER+=.
fi
}
zle -N rationalise-dot
เดฌเตเตปเดกเตเดเต . rationalise-dot
UNSORTED/MISC เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ
เดธเตเดเดจ: เดธเดพเดงเตเดตเดพเดฏ เดเตเดฒเตเดฌเต เดฏเตเดเตเดฏเดคเดเตเดเดพเดฐเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดเดคเดฟเตฝ เดเดพเดฃเดพเด zshexpn(1). โเดฎเดพเตป 1 zshexpn |
เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพเดเตเดเต เดเตเดฑเดตเต -pโ เดฏเตเดเตเดฏเดคเดเตพ.
# เดเดฐเต เดชเดพเดฑเตเดฑเตเดฃเตเดฎเดพเดฏเดฟ *เดเดตเดฟเดเตเดฏเตเด* เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเดพเดคเตเดค เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเดเตเดฏเตเด เดชเตเดฐเตเดเตพ เดจเตเดเตเด
# เดซเดฏเตฝ (เดเตเดเดพเดคเต ``-เดเตฝ' เดเดฒเตเดฒเดพเดคเต เด เดคเดฟเดจเตเดฑเต เดเตเดจเตเดฏเดฟเดทเต)
$ print -rl -- *(.^e{'grep -q เดชเดพเดฑเตเดฑเตเตบ $REPLY'})
# เด เดฅเดตเดพ
$ : *(.e{'grep -q เดชเดพเดฑเตเดฑเตเตบ $REPLY || เดชเตเดฐเดฟเดจเตเดฑเต -r -- $REPLY'})
# เดเตเดฐเดฎเดฐเดนเดฟเดค เดธเดเดเตเดฏเดเตพ
$ echo $[${RANDOM}%1000] # 0-999 เดเดเดฏเดฟเตฝ เดเตเดฐเดฎเดฐเดนเดฟเดคเด
$ echo $[${RANDOM}%11+10] # 10-20 เดเดเดฏเดฟเตฝ เดเตเดฐเดฎเดฐเดนเดฟเดคเด
$ echo ${(l:3::0:)${RANDOM}} # N เด เดเตเดเดเตเดเตพ เดจเตเดณเด (3 เด เดเตเดเดเตเดเตพ)
# เดเดฐเต เดตเดพเดเตเดเต เดตเดฟเดชเดฐเตเดคเดฎเดพเดเตเดเตเด
$ echo "${(j::)${(@Oa)${(s:::-hello}}}"
# เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดกเดฏเดฑเดเตโเดเดฑเดฟ เดเดพเดฃเดฟเดเตเดเตเด
$ ls -ld *(/om[1])
# เดเตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ เด เดฑเต เดเดเดเด
$ เดซเดฏเดฒเตเดเตพ=( .../files/* )
$ feh $FILES[$RANDOM%$#FILES+1]
เด เดกเดฏเดฑเดฟเดฒเต เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเดฟเดฒเตเด # cat เดเดฆเตเดฏ เดตเดฐเดฟ
เดซเดฏเดฒเดฟเดจเต $ (*(ND-.)) IFS= เดฑเตเดกเต -เดฑเต < $file
# เดเดฐเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเตผ เดธเดเดเตเดฏเดพเดชเดฐเดฎเดพเดฏเดคเดพเดฃเตเดฏเตเดจเตเดจเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด
$ เดเดเตเดเดฟเตฝ [[ $1 == <-> ]] ; เดชเดฟเดจเตเดจเต
เดเดเตเดเต เดจเตเดฏเตเดฎเตเดฑเดฟเดเต
เดฎเดฑเตเดฑเดพเดฐเตเดเตเดเดฟเดฒเตเด
เดเดเตเดเต เดจเตเตบ-เดธเดเดเตเดฏเดพ
fi
# .o เดซเดฏเตฝ เดจเดฟเดฒเดตเดฟเดฒเดฟเดฒเตเดฒเดพเดคเตเดค เดเดฒเตเดฒเดพ .c เดซเดฏเดฒเตเดเดณเตเด เดเดจเตเดจเต เดเดพเดฃเดฟเดเตเดเต.
$ เดชเตเดฐเดฟเดจเตเดฑเต *.c(e_'[[ ! -e $REPLY:ro ]]'_)
# เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด /เดเดฏเดฟเดฐเตเดจเตเดจเต/ เดฑเตเดเตเดเดฟเดจเตเดฑเต เดเดเดฎเดธเตเดฅเดคเดฏเดฟเดฒเตเดณเตเดณเดคเดฒเตเดฒ
$ ls -ld /เดเดฏเดฟเดฐเตเดจเตเดจเต/*(^u: เดฑเตเดเตเดเต)
# เดเดเดฎเดธเตเดฅเตป เด เดจเตเดฎเดคเดฟเดเตพ เดตเดพเดฏเดฟเดเตเดเตเดเดฏเตเด เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจ เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด
$ เดเดเตเดเต *(f:u+rx :)
# เดธเดฎเดพเดจเดฎเดพเดฃเต, เดเดจเตเดจเดพเตฝ เดฎเดฑเตเดฑเตเดณเตเดณเดตเตผเดเตเดเตเด เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เด เดจเตเดฎเดคเดฟเดเตพ เดเดฒเตเดฒ
$ เดเดเตเดเต *(f:u+rx,ox :)
# เดฌเตเดฐเตเดธเต เดตเดฟเดชเตเดฒเตเดเดฐเดฃเด - เดเดฆเดพเดนเดฐเดฃเด
$ X=(ABC)
$ Y=(+ -)
$ เดชเตเดฐเดฟเดจเตเดฑเต -เดเตผ -- $^X.$^Y
A.+ A.- B.+ B.- C.+ C.-
# เตฝ 'fgractg*.log' เดเดจเตเดจ เดธเตเดเตเดฐเดฟเดเดเต เด เดเดเตเดเดฟเดฏ เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดซเดฏเตฝ เดฒเดญเตเดฏเดฎเดพเดเตเดเตเด
# เดซเดฏเดฒเดฟเดจเตเดฑเต เดชเตเดฐเต, เด เดคเดฟเตฝ 'ORA-' เดเดจเตเดจ เดธเตเดเตเดฐเดฟเดเดเต เด เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต
$ เดซเดฏเตฝ=(fgractg*.log(Nm0om[1]))
$ (($#เดซเดฏเตฝ)) && grep -l ORA- $file
# Zsh เดเดฒเตเดฒเดพเดคเต
$ เดซเดฏเดฒเตเดเตพ=$(เดเดฃเตเดเตเดคเตเดคเตเด . -name . -o -prune -name 'fgractg*>log' -mtime 0 -print )
> เดเดเตเดเดฟเตฝ [ -n "$files" ]; เดชเดฟเดจเตเดจเต
> IFS='
> '
> เดธเตเดฑเตเดฑเต -เดเดซเต
> เดซเดฏเตฝ=$(ls -td $เดซเดฏเดฒเตเดเตพ | เดคเดฒ -1)
> grep -l ORA- "$file"
> fi
# เดฎเตเดดเตเดตเตป เดเดพเดธเตโเดเตเดเตเด เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเตเดจเตเดจเดคเตเดตเดฐเต เดจเดฟเดถเตเดเดฟเดค เดเดฃเตเดฃเด เดเตเตฝเดกเต เดชเตเดฐเตเดธเดธเตเดธเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเด
$ zsh -c 'เดธเตเดฒเตเดชเตเดชเต 1 & เดธเตเดฒเตเดชเตเดชเต 3 & เดธเตเดฒเตเดชเตเดชเต 2& เดชเตเดฐเดฟเดจเตเดฑเต -rl -- $jobtexts'
# เดเดฐเต เดกเดฏเดฑเดเตโเดเดฑเดฟเดฏเดฟเดฒเต เดชเตเดเตเดฏเด เดจเตเดณเดตเตเด .bak เดซเดฏเดฒเตเดเดณเตเด เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด
$ rm -i *(.L0) *.bak(.)
# เดเดเตเดธเตเดฑเตเดฑเตปเดทเดจเตเดเดณเดฟเดฒเตเดฒเดพเดคเตเดค เดซเดฏเดฒเตเดเตพ เดชเตเดฐเดฟเดจเตเดฑเต เดเดเตเดเต เดเตเดฏเตเดฏเตเด
$ printf '%s\n' ^?*.*
$ printf '%s\n' ^?*.[^.]*(D)
$ ls -d -- ^?*.*(D)
# เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดธเตเดเตเดฐเดฟเดเดเต เด เดเดเตเดเดพเดคเตเดค เดซเดฏเดฒเตเดเตพ เดเดฃเตเดเตเดคเตเดคเตเดจเตเดจเต
$ print -rl เดซเดฏเตฝ* | comm -2 -3 - <(grep -l เดธเตเดเตเดฐเดฟเดเดเต เดซเดฏเตฝ*)'
$ for f (เดซเดฏเตฝ*(N)) grep -q เดธเตเดเตเดฐเดฟเดเดเต $f || เดชเตเดฐเดฟเดจเตเดฑเต -r $f'
# เดเดฐเต เดเดชเตเดทเตป เดธเดเตเดเดฎเดพเดเตเดเดฟเดฏเดฟเดเตเดเตเดฃเตเดเต เดเดฒเตเดฒเดฏเต เดเดจเตเดจเต เดเดพเดฃเดฟเดเตเดเตเด/เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด. เดเดคเต $options เดเดฏเดฟ เดฐเดฃเตเดเตเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต
$เดฌเดฟเตฝเดฑเตเดฑเดฟเดจเตเดเตพเดเตเดเตเดชเตเดชเด #
$ echo $options[เดถเดฐเดฟ]
เดเดซเต
$ $options[zle]
on
# เดธเตเดฑเตเดฑเดพเดเตเดเดฟเดฒเต เดกเดฏเดฑเดเตโเดเดฑเดฟเดเดณเตเดเต เดเดฃเตเดฃเด เดเดฃเตเดฃเตเด
$ เดชเตเดฐเดฟเดจเตเดฑเต $((${${(z)${(f)"$(dirs -v)"}[-1] [1]} + 1)) # เด เดฒเตเดฒเตเดเตเดเดฟเตฝ
$ dirs -v | awk '{n=$1}END{print n+1}'
# เดซเดฏเตฝ เดจเดพเดฎเดคเตเดคเดฟเตฝ เดเดฐเต เดกเตเดเตเดเต เดเดฒเตเดฒเดพเดคเตเดค เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดคเตเดคเตเดจเตเดจเต
$ ls *~*.*(.)
# `ifconfig เดเดชเดเดฐเดฃเดคเตเดคเดฟเตฝ' เดจเดฟเดจเตเดจเตเดณเตเดณ ip-เดตเดฟเดฒเดพเดธเด เดฎเดพเดคเตเดฐเด เดเดพเดฃเดฟเดเตเดเตเด
เดจเตเดฑเตเดฑเต-เดเตเดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ # ifconfig (เดฒเดฟเดจเดเตเดธเต)
$ เดชเตเดฐเดฟเดจเตเดฑเต ${${$(LC_ALL=C / sbin / ifconfig eth0)[7]}:gs/addr://}
4.2BSD {Free,Net,Open}BSD-เตฝ เดจเดฟเดจเตเดจเต # ifconfig
$ เดชเตเดฐเดฟเดจเตเดฑเต ${$(/ sbin / ifconfig tun0)[6]}
# เดฐเดฃเตเดเต เดเตเดฒเดพเดธเต C เดเดณเดฟเดฒเต เดเดฒเตเดฒเดพ เดนเตเดธเตเดฑเตเดฑเตเดเดณเดฟเดฒเต เดเดฒเตเดฒเดพ IP เดตเดฟเดฒเดพเดธเดเตเดเดณเตเด เดชเดฟเดเดเต เดเตเดฏเตเดฏเตเด
# เดเดเดจเตเดจเต / etc / hosts
{1..254} เดเดจเตเดจเดคเดฟเตฝ เดเดจเดฟเดเตเดเต $; เดชเดฟเดเดเต เดเตเดฏเตเดฏเตเด -c 1 192.168.13.$i; เดเตเดฏเตเดคเต
or
$ I=1
$ เดธเดฎเดฏเดคเตเดคเต ( [[ $I -le 255 ]] ); เดชเดฟเดเดเต เดเตเดฏเตเดฏเตเด -1 2 150.150.150.$ I; เดเดพเตป++ เด เดจเตเดตเดฆเดฟเดเตเดเตเด; เดเตเดฏเตเดคเต
or
$(sed 's/#.*//' > เดเดจเตเดจเดคเดฟเตฝ เดเดจเดฟเดเตเดเต เดตเตเดฃเตเดเดฟเดฏเตเดณเตเดณ $ / etc / hosts | awk '{print $2}')
: เดเตเดฏเตเดฏเต
: เดเดเตเดเต "$i เดถเตเดฐเดฎเดฟเดเตเดเตเดจเตเดจเต..."
: เดชเดฟเดเดเต -เดธเดฟ 1 $ i ;
: เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟ '=============================='
: เดเตเดฏเตเดคเต
# เดธเตเดฑเตเดฑเดพเตผเดเตเดเดชเตเดชเดฟเตฝ เดฒเดญเตเดฏเดฎเดพเดฏ เดเดฒเตเดฒเดพ เดฎเตเดกเตเดฏเตเดณเตเดเดณเตเด เดฒเตเดกเต เดเตเดฏเตเดฏเตเด
$ เดเตเดชเตเดชเตเดธเตเดฑเตเดฑเต -เดฏเต เดเด
$ m=()
md-เดจเต $ ($module_path) m=($m $md/**/*(*e:'REPLY=${REPLY#$md/}'::r))
$ zmodload -i $m
# เดเดฐเต เดกเดฏเดฑเดเตโเดเดฑเดฟเดฏเดฟเดฒเต เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเดเตเดฏเตเด เดชเตเดฐเตเดเตพ เดฎเดพเดฑเตเดฑเตเด, เด เดเตเดเดจเต เด เดตเดฏเตเดเต เดชเตเดฐเตเดเตพเดเตเดเต เดเดฐเต เดธเดเดเตเดฏ เดฒเดญเดฟเดเตเดเตเด
เดกเดฟเดซเตเตพเดเตเดเต เด เดเตเดเตเดเตฝ เดเตเดฐเดฎเดคเตเดคเดฟเตฝ # เดชเตเดฐเดฟเดซเดฟเดเตเดธเต.
$ i=1; j-เตฝ *; mv $j $i.$j เดเตเดฏเตเดฏเตเด; ((i++)); เดเตเดฏเตเดคเต
$ i=1; เดเดซเต เดเตป *; เดกเต เดเดเดตเดฟ $f $(เดเดเตเดเต $i | \
awk '{printf("%03d", $0)}').$f; ((i++)); เดเตเดฏเตเดคเต
$ เดชเตเตผเดฃเตเดฃเดธเดเดเตเดฏ i=0; เดเดซเต เดเตป *; mv $f เดเตเดฏเตเดฏเตเด $[i+=1].$f; เดเตเดฏเตเดคเต
# เดเดฑเดจเตเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เดเดฐเต เดฒเดเตเดทเตเดฏเดตเตเดฎเดฟเดฒเตเดฒเดพเดคเต เดเดฒเตเดฒเดพ เดชเตเดฐเดคเตเดเดพเดคเตเดฎเด เดฒเดฟเดเตเดเตเดเดณเตเด เดเดฃเตเดเตเดคเตเดคเตเด (เด เดเตเดเดเดฟเดเตเดเตเด).
# เด เดดเตเดเตเดเต.
$ $ เดซเดฏเตฝ **/*(D@) | fgrep เดคเดเตผเดจเตเดจเต
$ for i **/*(D@); [[ -f $i || -d $i ]] || เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟ $i
$ เดเดเตเดเต **/*(@-^./=%p)
$ เดชเตเดฐเดฟเดจเตเดฑเต -l **/*(-@)
# 'เดซเดฟเดเตเดจเตเตผ' เดเดจเตเดจเดคเดฟเตฝ เดฒเดฟเดธเตเดฑเตเดฑเต เดเตเดฏเตเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดตเดฟเดชเตเดฒเตเดเดฐเดฃเดเตเดเดณเดฟเดฒเตเดฒเดพเดคเตเดค เดเดฒเตเดฒเดพ เดชเตเดฒเตเดฏเดฟเตป เดซเดฏเดฒเตเดเดณเตเด เดฒเดฟเดธเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด
$ ls **/*~*(${~${(j/|/)เดซเดฟเดเตเดจเตเตผ}})(.)
# เดฎเตเดเดณเดฟเตฝ เดเดพเดฃเตเด, เดเดจเตเดจเดพเตฝ เดเดชเตเดชเตเตพ เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเดฌเดฟเดณเตเดเตพ เดเดดเดฟเดตเดพเดเตเดเตเด
$ ls **/*~*(${~${(j/|/)fignore}})(.^*)
# เดเดเตเดธเตเดฑเตเดฑเตปเดทเดจเตเดเดณเดฟเดฒเตเดฒเดพเดคเตเดค เดซเดฏเดฒเตเดเตพ เดชเตเดฐเดฟเดจเตเดฑเต เดเดเตเดเต เดเตเดฏเตเดฏเตเด (*เดธเตเดฑเตเดฑเตเดชเตเดฑเตเดฑเต เดเดเตเดธเตเดฑเตเดฑเตเตปเดกเดกเตเดเตเดฒเตเดฌเต* เดเดตเดถเตเดฏเดฎเดพเดฃเต
# เดเดชเตเดชเด *เดธเตเดฑเตเดฑเตเดชเตเดฑเตเดฑเต เดกเตเดเตเดเตเดเตเดฒเตเดฌเต*)
$ printf '%s\n' ^?*.*
# เดชเตเดฐเดฟเดจเดจเตเดธเดฐเดฟเดเตเดเต เดเตเดฐเดฎเตเดเดฐเดฟเดเตเด เดซเดฏเดฒเตเดเตพ เดตเดฟเดชเดฐเตเดค เดเตเดฐเดฎเดคเตเดคเดฟเตฝ เดฒเดฟเดธเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด
$ print -rl -- *(เดเตบ)
or
$ เดชเตเดฐเดฟเดจเตเดฑเต -rl -- *(^เดเตบ)
# ``ps ax | awk '{print $1}'''
$ เดชเตเดฐเดฟเดจเตเดฑเต -เดเตฝ /proc/*/cwd(:h:t:s/self//)
# เดเดฐเต เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเตเดเต PID เดจเตเดเตเด (`ps'', ``sed'', ``pgrep'', ..
# (เดฒเดฟเดจเดเตเดธเดฟเดจเต เดเตเดดเดฟเตฝ)
$ pid2 () {
> เดชเตเดฐเดพเดฆเตเดถเดฟเด เด
> เดเดจเดฟเดเตเดเดพเดฏเดฟ /proc/<->/stat
> เดเตเดฏเตเดฏเตเด
> [[ "$(< $i)" = *\((${(j:|:)~@})\)* ]] && echo $i:h:t
> เดเตเดฏเตเดคเต
>}
# 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' เตฝ X เดจเต เดตเตเดฃเตเดเดฟ; เดเตเดฏเตเดฏเตเด...
$ เดเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ (( i = 36#n; i <= 36#y; i++ )); เดเตเดฏเตเดฏเตเด
> เดชเตเดฐเดฟเดจเตเดฑเต ${$(([##36]i)):l}
> เดเตเดฏเตเดคเต
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ ``dc'' เดเดจเตเดจเดคเดฟเดจเตเดชเตเดชเด
$ เดชเตเดฐเดฟเดจเตเดฑเต {$((##n))..$((##y))}P\ 10P | เดกเดฟเดธเดฟ
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ ``เดเดตเตฝ'' เดเดชเดฏเตเดเดฟเดเตเดเต
$ eval เดชเตเดฐเดฟเดจเตเดฑเต '${$([##36]'{$(36#n))..$((36#y))}'):l}'
เดทเตเดฒเตเดฒเดฟเดจเตเดฑเต เดเดฐเต เดตเดฐเดฟเดฏเดฟเตฝ # เดซเตเดฑเตเดเตเดเต
$ for f (*) เดชเตเดฐเดฟเดจเตเดฑเต -r -- $f
# เดกเดพเดฑเตเดฑ/เดซเดฏเดฒเตเดเตพ เดเดฒเตเดฒเดพเดคเต เดเดฐเต เดกเดฏเดฑเดเตโเดเดฑเดฟ เดเดตเตผเดคเตเดคเดฟเดเตเดเต เดชเดเตผเดคเตเดคเตเด
$ dirs=(**/*(/))
$ cd -- $dest_root
$ mkdir -p -- $dirs
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ zsh เดเดฒเตเดฒเดพเดคเต
$ เดเดฃเตเดเตเดคเตเดคเตเด. -type d -exec env d="$dest_root" \
sh -c ' exec mkdir -p -- "$d/$1"' '{}' '{}' \;
# `foo=23'' เดเดเตเดเดฟเตฝ, 10 เด เดเตเดเดคเตเดคเดฟเตฝ เดฎเตเตปเดจเดฟเดฐเดฏเดฟเดฒเตเดณเตเดณ '0' เดเดชเดฏเตเดเดฟเดเตเดเต เดชเตเดฐเดฟเดจเตเดฑเต เดเตเดฏเตเดฏเตเด.
$ foo=23
$ เดชเตเดฐเดฟเดจเตเดฑเต ${(r:10::0:)foo}
# เดนเตเด เดกเดฏเดฑเดเตเดเดฑเดฟเดฏเดฟเดฒเต เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเดเตเดฏเตเด เดชเตเดฐเต เดเดฃเตเดเตเดคเตเดคเตเด
# เด เดตเดฏเตเดเต เดซเดฏเตฝ เดจเดพเดฎเดเตเดเดณเดฟเตฝ 20-เดฒเดงเดฟเดเด เดชเตเดฐเดคเตเดเดเตเดเตพ
print -rl $HOME/${(l:20::?:)~:-}*
# เด เดฑเตเดเตพ เดธเดเดฐเดเตเดทเดฟเดเตเดเตเด
$ print -r -- ${(qq)m} > $nameoffile # เดเดคเต เดธเดเดฐเดเตเดทเดฟเดเตเดเตเด
$ eval "m=($(cat -- $nameoffile)" # เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดชเดฏเตเดเดฟเดเตเดเตเด
$ m=("${(@Q)${(z)"$(cat -- $nameoffile)"}}") # เดเดคเต เดชเตเดจเดเดธเตเดฅเดพเดชเดฟเดเตเดเดพเตป
เดเตเดฐเตเดฏเดฟเดฒเต เดเดฏเตเดเตเดเดพเตพ เดชเตเดฐเดพเดฏเด เดเตเดฑเดเตเด เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเดฟเดฒเตเด # "ls -l" เดจเตเดเตเด
# เดจเดฟเตผเดฆเตเดฆเดฟเดทเตโเด เดชเตเดฐเดพเดฏเด (เดเดฆเดพ: "ls -l" เดเตเดฐเตเดฏเดฟเดฒเต เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด เดเดตเดฟเดเตเดฏเดพเดฃเต
เดเดดเดฟเดเตเด 2 เดฆเดฟเดตเดธเดคเตเดคเดฟเดจเตเดณเตเดณเดฟเตฝ # เดชเดฐเดฟเดทเตโเดเตเดเดฐเดฟเดเตเดเต)
$ ls -tld **/*(m-2)
# เดเดคเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดฒเดฟเดธเตโเดฑเตเดฑเดฟเดเดเต 1 เดซเดฏเตฝ perl เดฒเตเตป เดจเตฝเดเตเด (ร la ls -R เด เดฒเตเดฒ).
# "ls -R" เดธเตเดฑเตเดฑเตเตฝ เดเดเตเดเตโเดชเตเดเตเดเต เดฒเดญเดฟเดเตเดเดพเดจเตเดณเตเดณ เดเดณเตเดชเตเดชเดตเดดเดฟเดฏเตเดเตเดเตเดฑเดฟเดเตเดเต เดเดฟเดจเตเดคเดฟเดเตเดเตเด
# 2 เดฆเดฟเดตเดธเดคเตเดคเดฟเตฝ เดเตเดเตเดคเตฝ เดชเดดเดฏ เดซเดฏเดฒเตเดเตพ เดฎเดพเดคเตเดฐเด.
d เดเดจเตเดจเดคเดฟเดจเตเดณเตเดณ $ (./**/*(/)) {
> print -r -- $'\n'${d}:
> cd $d && {
> l=(*(Nm-2))
> (($#l)) && ls -ltd -- $l
> เดธเดฟเดกเดฟ ~-
>}
>}
# เดกเดฏเดฑเดเตโเดเดฑเดฟเดเตพ เด เดตเดฏเตเดเต mtime เดเดฃเตเดเตเดเดฟเดฒเตเด เดเตพเดชเตเดชเตเดเตเดคเตเดคเดฃเดฎเตเดจเตเดจเต เดจเดฟเดเตเดเตพ เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเตเดตเตเดเตเดเดฟเตฝ
# 2 เดฆเดฟเดตเดธเดคเตเดคเดฟเดฒเดงเดฟเดเด เดชเดดเดเตเดเดฎเตเดฃเตเดเต:
d เดเดจเตเดจเดคเดฟเดจเตเดณเตเดณ $ (./**/*(/)) {
> print -r -- $'\n'${d}:
> cd $d && {
> l=(*(N/,m-2))
> (($#l)) && ls -ltd -- $l
> เดธเดฟเดกเดฟ ~-
>}
>}
# เดเตเดเดพเดคเต mtime < 2 เดฆเดฟเดตเดธเด เดเดณเตเดณ เดกเดฏเดฑเดเตโเดเดฑเดฟเดเตพ เดฎเดพเดคเตเดฐเด เดฒเดฟเดธเตเดฑเตเดฑเตเดเตเดฏเตเดฏเดฃเดฎเตเดเตเดเดฟเตฝ:
$ d (. ./**/*(N/m-2)) {
> print -r -- $'\n'${d}:
> cd $d && {
> l=(*(Nm-2))
> (($#l)) && ls -ltd -- $l
> เดธเดฟเดกเดฟ ~-
>}
>}
# เดชเตเดฐเดฟเดจเตเดฑเต 42 ``-''
$ เดเดเตเดเต ${(l:42::-:)}
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ ``$COLUMS'' เดเดชเดฏเตเดเดฟเดเตเดเตเด
$ เดเดเตเดเต ${(l:$COLUMNS::-:)}
# เดเตเดเดพเดคเต เดเดชเตเดชเตเตพ เดจเดฟเดฑเดเตเดเตพเดเตเดเตเดชเตเดชเด (เดเดเตเดเตเดฒเตเดกเต เดจเดฟเดฑเดเตเดเตพ ;เดจเดฟเดฑเดเตเดเตพ เดเดตเดถเตเดฏเดฎเดพเดฃเต)
$ echo "$bg[red]$fg[เดเดฑเตเดชเตเดชเต]${(l:42::-:)}"
# STDOUT เดฑเตเดกเดฏเดฑเดเตโเดเต เดเตเดฏเตเดฏเดพเดคเต xless เดชเตเดฒเตเดณเตเดณ เดเดฐเต เดเดฎเดพเตปเดกเดฟเดฒเตเดเตเดเต STDERR เดฑเตเดกเดฏเดฑเดเตโเดเต เดเตเดฏเตเดฏเตเด.
$ foo 2>>(xless)
# เดเดจเตเดจเดพเตฝ เดเดคเต เดเดฎเดพเตปเดกเต เด เดธเดฎเดจเตเดตเดฟเดคเดฎเดพเดฏเดฟ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจเต. เดเดคเต เดธเดฎเดจเตเดตเดฏเดคเตเดคเตเดเต เดเตเดฏเตเดฏเดพเตป:
$ { { foo 1>&3 } 2>&1 | xless } 3>&1
# เดเดฒเตเดฒเดพ MP3-เดซเดฏเดฒเตเดเดณเตเดเตเดฏเตเด เดชเตเดฐเต เดธเตโเดชเตเดฏเตโเดธเตเดเดณเตเดณเตเดณ เดชเตเดฐเดฟเตฝ เดจเดฟเดจเตเดจเต.mp3 เดเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเตเดฏเดฟเด เดตเดฟเดคเตเดคเต เดธเตโเดชเตเดฏเตโเดธเต.mp3 เดเดจเตเดจเดคเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเตเดฑเตเด
$ for i *.mp3; เดเตเดฏเตเดฏเตเด
> mv $i ${${(C)i}:s/Mp3/mp3/}
> เดเตเดฏเตเดคเต
# เด เดเตเดเดเตเดเตพ เดฎเดพเดคเตเดฐเด เด เดเดเตเดเดฟเดฏเดคเตเด .xml เตฝ เด เดตเดธเดพเดจเดฟเดเตเดเตเดจเตเดจเดคเตเดฎเดพเดฏ เดซเดฏเตฝ เดชเตเดฐเตเดเตพ เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดคเตเดคเตเด (เดเดตเดถเตเดฏเดฎเดพเดฃเต
# *setopt kshglob*)
$ ls -l [0-9]##.xml
$ ls -l <0->.xml
# เดเดฒเตเดฒเดพ "เดจเตเตบ txt" เดซเดฏเดฒเตเดเดณเตเด เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด
$ rm ./^*.txt
# เดเดฐเต เดกเดฏเดฑเดเตเดเดฑเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดฑเตเดฑเตเดจเตเดจเดฟเดฒเตเดเตเดเต 200 เดซเดฏเดฒเตเดเตพ เดจเตเดเตเดเตเด
$ mv -- *([1,200]) /เดฎเดฑเตเดฑเตเดฐเต/Dir
# เดเดฟเดคเตเดฐเดเตเดเตพ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด เดเตเดฏเตเดฏเตเด (foo.gif => foo.png):
**/*.gif-เตฝ เดเดจเดฟเดเตเดเต เดตเตเดฃเตเดเดฟ $; $i $i:r.png เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด เดเตเดฏเตเดฏเตเด
# mp3 เดซเดฏเดฒเตเดเดณเตเดเต เดเดฐเต เดถเตเดเดฐเด เดตเตเดตเต เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดธเดฟเดกเดฟเดเตผ เดเดฏเดฟ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด เดเตเดฏเตเดฏเตเด,
# เดเดฆเดพ: file.wav -> file.mp3)
$ for i (./*.mp3){mpg321 --w - $i > ${i:r}.wav}
# LaTeX2HTML เดธเตเดทเตเดเดฟเดเตเด เดซเดฏเดฒเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดกเตเตบเดฒเตเดกเต เดเตเดฏเตเดฏเตเด (เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต ZSH-เดเตเดกเต):
เดเดซเดฟเดจเต $ http://zsh.sunsite.dk/Guide/zshguide{,{01..08}}.html; เดเตเดฏเตเดฏเตเด
> เดฒเดฟเดเตเดเตเดธเต -เดธเตเดดเตเดธเต $f >${f:t}
> เดเตเดฏเตเดคเต
# 1-เดฒเตเดเตเดเต เดเตเดเตเดคเตฝ เดตเดฐเดฟเดธเดเดเตเดฏเดฏเตเดณเตเดณ เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด dir2, dir10 เดเดจเตเดจเดฟเดตเดฏเดฟเดฒเตเดเตเดเต เดจเตเดเตเดเตเด
# เดฎเดฑเตเดฑเตเดฐเต เดกเดฏเดฑเดเตเดเดฑเดฟ "/more10" เดเดจเตเดจเต เดชเดฑเดฏเตเดจเตเดจเต
$ mv dir[12]/**/*.cr(-.e{'((`wc -l < โโ$REPLY` > 10))'}) /more10
# dpkg เดเดชเดฏเตเดเดฟเดเตเดเต เด เดคเต เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดค เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเดเตเดฏเตเด เดฎเดพเดธเตเดฑเตเดฑเตผ-เดฒเดฟเดธเตเดฑเตเดฑเต เดเดฃเตเดเดพเดเตเดเตเด
$ เดตเตเดฏเดคเตเดฏเดพเดธเด <(เดเดฃเตเดเตเดคเตเดคเตเด / | เด เดเตเดเตเดเตเด) <(เดชเตเดเตเด /var/lib/dpkg/info/*.เดฒเดฟเดธเตเดฑเตเดฑเต | เด เดเตเดเตเดเตเด)
# เด เดซเดเตเดเดฟเดเดเต เดเดธเตโเดเตเดชเตเดชเต-เดธเตเดเตเดตเตปเดธเตเดเตพ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเตเด:
$ เดเดเตเดเตเดฒเตเดกเต เดจเดฟเดฑเดเตเดเตพ ; เดจเดฟเดฑเดเตเดเตพ
$ เดชเตเดฐเดฟเดจเตเดฑเต "$bg[cyan]$fg[blue]เดจเดฟเดเตเดเตพ เดเดฐเต เดตเดฟเดกเตเดขเดฟเดฏเดพเดฃเต" >> /dev/pts/3
# เดเดฐเต เดชเตเดฐเดคเตเดเดคเตเดคเดฟเดจเตเดฑเต ASCII เดฎเตเดฒเตเดฏเด เดจเตเดเตเด
$ char=N ; เดชเตเดฐเดฟเดจเตเดฑเต $((#char))
# เดซเดฏเดฒเดฟเดจเตเดฑเต เดชเตเดฐเต "Erweiterung"
# เดเตเดฑเดฟเดชเตเดชเต: เด เดชเตเดฐเดคเตเดฏเตเดเดคเตเดคเดฟเดจเดพเดฏเดฟ nullglob เดเดชเตเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเดฃเดฎเตเดจเตเดจเต (N) เดชเดฑเดฏเตเดจเตเดจเต
# เดเตเดฒเตเดฌเต เดชเดพเดฑเตเดฑเตเตบ.
*.o(N); เดเตเดฏเตเดฏเตเด
> rm $i
> เดเตเดฏเตเดคเต
# เดซเดฏเดฒเตเดเดณเตเดเต เดชเตเดฐเตเดฎเดพเดฑเตเดฑเตเด; เด เดคเดพเดฏเดคเต FOO to foo, bar to BAR
$ for i *(.); mv $i ${i:l} # `FOO' to `foo'
$ for i *(.); mv $i ${i:u} # `เดฌเดพเตผ to `BAR'
# เดเดฒเตเดฒเดพ เดธเตเดฏเตเดกเต เดซเดฏเดฒเตเดเดณเตเด $PATH-เตฝ เดเดพเดฃเดฟเดเตเดเตเด
$ ls -latg ${(s.:.)PATH} | grep '^...s'
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเตเดเตเดคเตฝ เดธเดเตเดเตเตผเดฃเตเดฃเดฎเดพเดฏ ;)
$ เดชเตเดฐเดฟเดจเตเดฑเต -l ${^path}/*(Ns,S)
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดชเดฏเตเดเตเดคเดพเดตเต เดจเตฝเดเดฟเดฏ เดชเดพเดฑเตเดฑเตเตบ เดเดชเดฏเตเดเดฟเดเตเดเต เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเดฌเดฟเดณเตเดเตพ เดฎเดพเดคเตเดฐเด เดเดพเดฃเดฟเดเตเดเตเด
$ เดชเตเดฐเดฟเดจเตเดฑเต -l ${^path}/*vim*(*N)
เดเดฐเต เดจเดฟเดถเตเดเดฟเดค เดธเตเดเตเดฐเดฟเดเดเต เด เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดฎเตเดชเตเตพ # gzip เดซเดฏเดฒเตเดเตพ
$ gzip ${(ps:\0:)"$(grep -lZ foobar ./*.txt(.))"}
# เดเดฐเต เดเตเดฑเดฟเดฏ เดตเตบ-เดฒเตเดจเตผ, เด เดคเต stdin-เตฝ เดจเดฟเดจเตเดจเต เดตเดพเดฏเดฟเดเตเดเตเดเดฏเตเด เดเดฆเตเดฏเดคเตเดคเตเดคเต stdout-เดฒเตเดเตเดเต เดชเตเดฐเดฟเดจเตเดฑเต เดเตเดฏเตเดฏเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต
# เด เดฆเตเดตเดฟเดคเตเดฏ เดฒเตเตป เด เดคเดพเดฏเดคเต เดฎเตเดฎเตเดชเต เด เดเตเดเดเดฟเดเตเด เดตเดฐเดฟเดเตพ เดชเตเดฐเดฟเดจเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒ
# (เดเดคเต เด เดฆเตเดตเดฟเดคเตเดฏ เดเดฎเดพเตปเดกเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต, เดเดจเตเดจเดพเตฝ เด เดฆเตเดตเดฟเดคเตเดฏเดคเตเดคเดฟเดจเต เดฎเดพเดคเตเดฐเดฎเต เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเต
# เด เดเตเดคเตเดคเตเดณเตเดณ เดตเดฐเดฟเดเตพ).
$ IFS=$'\n\n'; print -rl -- ${(Oau)${(Oa)$(cat file;echo .)[1,-2]}}
# PATH-เตฝ เดเดเตโเดธเดฟเดเตเดฏเตเดเตเดเดฌเดฟเตพ เดเตเดฏเตเดฏเตเดจเตเดจเดตเดฏเตเดฒเตเดฒเดพเด เดฒเดฟเดธเตเดฑเตเดฑเตเดเตเดฏเตเดฏเตเดจเตเดจเต
$ เดชเตเดฐเดฟเดจเตเดฑเต -l ${^path}/*(-*N)
# เดเดคเตเดเตเดเดฟเดฒเตเด SCCS เดเดชเดกเดฏเดฑเดเตโเดเดฑเดฟเดเตพ เดเดดเดฟเดเต, เดเดฒเตเดฒเดพ เดเดชเดกเดฏเดฑเดเตโเดเดฑเดฟเดเดณเดฟเดฒเตเดฏเตเด เดเดฒเตเดฒเดพ .c เดซเดฏเดฒเตเดเดณเตเด เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดคเตเดคเดฃเต?
$ ls **/*.c~(*/)#SCCS/*
# เดเดฒเตเดฒเดพ `README' เดฒเดฟเดธเตเดฑเตเดฑเตเดเตเดฏเตเดฏเตเด - เดชเดฐเดฎเดพเดตเดงเดฟ เดเดชเดฏเตเดเดฟเดเตเดเต เดเตเดธเต-เดเตปเดธเตเตปเดธเดฟเดฑเตเดฑเตเดตเต เดซเดฏเดฒเตเดเตพ. เดเดฐเต เด เดเตเดทเดฐเดคเตเดคเตเดฑเตเดฑเต
$ ls **/*(#ia2)readme
# เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเตพเดเตเดเดพเดฏเตเดณเตเดณ เดเตเดธเต เดธเตเตปเดธเดฟเดฑเตเดฑเตเดตเต เดชเดฐเดฟเดถเตเดงเดจ
$ เดเดเตเดเดฟเตฝ [[ $OSTYPE == (#i)LINUX*(#I) ]]; เดชเดฟเดจเตเดจเต
> เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟ "เดฌเตเตผเดกเดฟเตฝ เดชเตเตปเดเตเดตเดฟเตป."
> เดตเตเดฑเต
> echo "เดเดฐเต Linux เด เดฒเตเดฒ."
> fi
(เดเดตเตผเดคเตเดคเดจเดชเดฐเด) เดเตเดฒเตเดฌเดฟเดเดเต - เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ
เดธเดพเดงเตเดตเดพเดฏ เดเตเดฒเตเดฌเต เดฏเตเดเตเดฏเดคเดเตเดเดพเดฐเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดเดคเดฟเตฝ เดเดพเดฃเดพเด zshexpn(1). เดเตเดฑเดฟเดชเตเดชเต: **/ เดเดคเดฟเดจเต เดคเตเดฒเตเดฏเดฎเดพเดฃเต
(*/)#! เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต:
$ เดชเตเดฐเดฟเดจเตเดฑเต (*/)#zsh_us.ps
zsh-4.2.3/Doc/zsh_us.ps
$ เดชเตเดฐเดฟเดจเตเดฑเต **/zsh_us.ps
zsh-4.2.3/Doc/zsh_us.ps
# เดเดฒเตเดฒเดพ เดเดชเดกเดฏเดฑเดเตโเดเดฑเดฟเดเดณเดฟเดฒเตเด `README' เดเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดคเดฟเดฐเดฏเตเด
$ ls -l **/README
# "index.php", "index.html" เดเดจเตเดจเดฟเดต เด เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดกเดฏเดฑเดเตเดเดฑเดฟเดเตพ เดเดฃเตเดเตเดคเตเดคเตเด.
# เดชเตเดคเตเดตเดพเดฏ, "เดธเตเดเดฟเด.*" เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจ เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดซเดฏเดฒเตเดเตพ เด เดเดเตเดเดฟเดฏ เดกเดฏเดฑเดเตโเดเดฑเดฟเดเตพ
$ ls **/*(D/e:'[[ -e $REPLY/index.php && -e $REPLY/index.html ]]':)
# เด เดฅเดตเดพ
$ ls **/*(D/e:'l=($REPLY/index.*(N)); (( $#l >= 2 ))':)
# เด เดเดฟเดธเตเดฅเดพเดจเดจเดพเดฎเดคเตเดคเดฟเดจเต เดชเดเดฐเด เดกเดฏเดฑเดเตเดเดฑเดฟเดฏเตเดเต เดชเตเดฐเต เดคเดฟเดฐเดฏเดพเตป เดเดฎเดพเตปเดกเต เดเดฃเตเดเตเดคเตเดคเตเด
$ print -rl /**/*~^*/path(|/*)
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ - Zsh เดเดฒเตเดฒเดพเดคเต
$ เดเดฃเตเดเตเดคเตเดคเตเด / | grep -e /path/ -e '/path$'
# เดชเดคเตเดคเต เดตเดฒเดฟเดฏ เดธเดฟ เดฑเตเดเตเดฒเตผ เดซเดฏเดฒเตเดเตพ เดเตเดตเดถเด เดตเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดกเดฏเดฑเดเตเดเดฑเดฟเดเดณเตเดเต เดชเดพเดค เดชเตเดฐเดฟเดจเตเดฑเต เดเตเดฏเตเดฏเตเด
# เดจเดฟเดฒเดตเดฟเดฒเต เดกเดฏเดฑเดเตโเดเดฑเดฟเดฏเดฟเดฒเตเด เดเดชเดกเดฏเดฑเดเตโเดเดฑเดฟเดเดณเดฟเดฒเตเด.
$ print -rl -- **/*.c(D.OL[1,10]:h) | เด เดเตเดเตเดเตเด -u
# == 0 เดตเดฒเตเดชเตเดชเดฎเตเดณเตเดณ เดซเดฏเดฒเตเดเตพ เดเดฃเตเดเตเดคเตเดคเดฟ เดเดฐเต เดฎเตเดฏเดฟเตฝ เด เดฏเดฏเตเดเตเดเตเด
$ เดซเดฏเดฒเตเดเตพ=(**/*(ND.L0m+0m-2))
> (( $#files > 0 )) && เดชเตเดฐเดฟเดจเตเดฑเต -rl -- $files | \
mailx -s "เดถเตเดจเตเดฏเดฎเดพเดฏ เดซเดฏเดฒเตเดเตพ" [เดเดฎเตเดฏเดฟเตฝ เดชเดฐเดฟเดฐเดเตเดทเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต]
# เดเดตเตผเดคเตเดคเดจ chmod
$ chmod 700 **/(.) # เดซเดฏเดฒเตเดเตพ เดฎเดพเดคเตเดฐเด
$ chmod 700 **/(/) # เดกเดฏเดฑเดเตเดเดฑเดฟเดเตพ เดฎเดพเดคเตเดฐเด
# เด เดกเดฏเดฑเดเตโเดเดฑเดฟเดฏเดฟเดฒเต เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด 2 เดเตเดณเดเตเดเดณเดพเดฏเดฟ เดชเตเดฐเดฟเดจเตเดฑเต เดเดเตเดเต เดเตเดฏเตเดฏเตเด
$ print -rC2 -- ${1:[...]}/*(D:t)
# ^- เดจเดฎเตเดชเตผ เดเดฌเต เดจเดฟเดฐเดเตพ
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ - เดจเดฟเดเตเดเตพเดเตเดเต เดชเตเดฐเดคเตเดฏเตเด เดชเตเดฐเดคเตเดเดเตเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเต เดเดถเดเตเดเดฏเตเดฃเตเดเตเดเตเดเดฟเตฝ - เดเดชเดฏเตเดเดฟเดเตเดเตเด
$ เดฒเดฟเดธเตเดฑเตเดฑเต=(${1:[...]}/*(ND:t))
$ (($#เดฒเดฟเดธเตเดฑเตเดฑเต)) && เดชเตเดฐเดฟเดจเตเดฑเต -rC2 -- ${(V)list}
# เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด เดคเดฟเดฐเดฏเตเด / เดตเตเดเต /*/*-เดฎเตเดฏเดฟเตฝ/ เดเดฐเต เดเตเดฐเดฎเตเดเดฐเดฃเด ``chmod -s'' เดซเตเดฒเดพเดเต
# (เดเดตเตผเดคเตเดคเดจเดชเดฐเด, เดกเตเดเตเดเต เดซเดฏเดฒเตเดเตพ เดเตพเดชเตเดชเตเดเตเดคเตเดคเตเด) setgid/setuid เดซเตเดฒเดพเดเต เดจเตเดเตเดเด เดเตเดฏเตโเดคเต เดชเตเดฐเดฟเดจเตเดฑเต เดเตเดฏเตเดฏเตเด
# เดเดฐเต เดธเดจเตเดฆเตเดถเด
$ chmod -s / เดตเตเดเต /*/*-เดฎเตเดฏเดฟเตฝ(DNs,S) / เดตเตเดเต /*/*-เดฎเตเดฏเดฟเตฝ/**/*(DNs,S))
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดฐเต เดเตเดฑเดฟเดฏ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเต
เดซเดฏเดฒเดฟเดจเต $ (/ เดตเตเดเต /*/*-เดฎเตเดฏเดฟเตฝ(DNs,S) / เดตเตเดเต /*/*-เดฎเตเดฏเดฟเตฝ/**/*(DNs,S)) {
> เดชเตเดฐเดฟเดจเตเดฑเต -r -- $เดซเดฏเตฝ
> chmod -s $file && print -r เดซเดฟเดเตเดธเดกเต $เดซเดฏเตฝ
>}
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ ``zargs'' เดเดชเดฏเตเดเดฟเดเตเดเตเด (เดเดเตเดเตเดฒเตเดกเต zargs เดเดตเดถเตเดฏเดฎเดพเดฃเต) arg เดฒเดฟเดธเตเดฑเตเดฑเตเด เดคเดเดฏเตเด
# เดจเตเดฃเตเด เดชเดฟเดถเดเต
$เดธเดพเตผเดเตเดธเต / เดตเตเดเต /*/*-เดฎเตเดฏเดฟเตฝ(DNs,S) / เดตเตเดเต /*/*-เดฎเตเดฏเดฟเตฝ/**/*(DNs,S)) -- chmod -s
# `foo23' เตฝ เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจ เดซเดฏเดฒเตเดเตพ เดฎเตเดเดณเดฟเดฒเตเดเตเดเต เดฒเดฟเดธเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด (foo23, foo24, foo25, ..)
$ ls -l foo<23->
# เดเตเตบ 4 เดฎเตเดคเตฝ เดคเตเดฏเดคเดฟ เดธเตเดเตเดฐเดฟเดเดเตเดเดณเดฟเตฝ เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจ เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด เดจเตเดเตเด
# 9 เดเตเตบ 2004
$ ls -l 200406{04..10}*(N)
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เด เดต 200406XX เดฐเตเดชเดคเตเดคเดฟเดฒเดพเดฃเตเดเตเดเดฟเตฝ (``เดธเตเดฑเตเดฑเตเดชเตเดฑเตเดฑเต เดเดเตเดธเตเดฑเตเดฑเตเตปเดกเดกเต_เดเตเดฒเตเดฌเต'' เดเดตเดถเตเดฏเดฎเดพเดฃเต
$ ls -l 200306<4-10>.*
# เดซเดฏเตฝ เดจเดพเดฎเดเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเตโเดชเตเดฏเตโเดธเตเดเตพ เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด
$ เดเดฐเต เดเตป ./**/*\ *(เดกเตเดกเต); mv $a ${a:h}/${a:t:gs/ /_} เดเตเดฏเตเดฏเตเด; เดเตเดฏเตเดคเต
# เดเดฒเตเดฒเดพ *.c, *.h - เดซเดฏเดฒเตเดเดณเตเด เดฎเดพเดคเตเดฐเด เดเดพเดฃเดฟเดเตเดเตเด
$ ls -l *.(c|h)
# เดเดฒเตเดฒเดพ *.c - เดซเดฏเดฒเตเดเดณเตเด เดฎเดพเดคเตเดฐเด เดเดพเดฃเดฟเดเตเดเตเดเดฏเตเด `foo.c' เด เดตเดเดฃเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด
$ ls *.c~foo.c
# เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ * เดฌเตเดจเดฑเดฟ เดซเตเตผเดฎเดพเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดกเดพเดฑเตเดฑ เดเดพเดฃเดฟเดเตเดเตเด
$ zsh -ec 'เด เดคเตเดธเดฎเดฏเด {} {printf %.8x $n; 8 เดเดตเตผเดคเตเดคเดฟเดเตเดเตเด \
> {read -ku0 a printf \ %.8d $([##2]#a))};print;((n+=8))}' < เดฌเตเดจเดฑเดฟ
# เดฒเตเดเด เดตเดพเดฏเดฟเดเตเดเดพเดจเดพเดเตเดจเตเดจ เดซเดฏเดฒเตเดเตพ เดฎเดพเดคเตเดฐเด เดเดพเดฃเดฟเดเตเดเตเด
$ ls -l *(R)
# เดจเดฟเดฒเดตเดฟเดฒเต เดกเดฏเดฑเดเตโเดเดฑเดฟเดฏเดฟเดฒเต เดฒเดฟเดธเตเดฑเตเดฑเต เดซเดฏเดฒเตเดเตพ เดเดเดฎเดฏเตโเดเตเดเต เดเดดเตเดคเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒ
$ เดชเตเดฐเดฟเดจเตเดฑเต -l ~/*(ND.^w)
# เดจเตฝเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเดฟเดจเตเดเตเดเดพเตพ เดชเดดเดฏ เดซเดฏเดฒเตเดเตพ เดเดฃเตเดเตเดคเตเดคเดฟ เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเด
# (เดธเตเดเตเดเตปเดกเต/เดฎเดฟเดจเดฟเดฑเตเดฑเต/เดฎเดฃเดฟเดเตเดเตเดฑเตเดเตพ)
# 3 เดฎเดฃเดฟเดเตเดเตเดฑเดฟเตฝ เดเตเดเตเดคเตฝ เดชเดดเดเตเดเดฎเตเดณเตเดณ /Dir-เดฒเต เดเดฒเตเดฒเดพ เดธเดพเดงเดพเดฐเดฃ เดซเดฏเดฒเตเดเดณเตเด เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเดจเตเดจเต
$ rm -f /Dir/**/*(.mh+3)
# 3 เดฎเดฟเดจเดฟเดฑเตเดฑเดฟเตฝ เดเตเดเตเดคเตฝ เดชเดดเดเตเดเดฎเตเดณเตเดณ /Dir-เดฒเต เดเดฒเตเดฒเดพ เดธเดฟเดเดฒเดฟเดเตเดเตเดเดณเตเด เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเดจเตเดจเต
$ rm -f /Dir/**/*(@mm+3)
# 30 เดธเตเดเตเดเตปเดกเดฟเตฝ เดเตเดเตเดคเตฝ เดชเดดเดเตเดเดฎเตเดณเตเดณ เดเดฒเตเดฒเดพ เดจเตเตบ เดกเดฟเดฑเตเดเดณเตเด เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเดจเตเดจเต
$ rm -f /Dir/**/*(ms+30^/)
# เดเดฐเต เดฎเดฃเดฟเดเตเดเตเดฑเดฟเดฒเดงเดฟเดเด เดชเดดเดเตเดเดฎเตเดณเตเดณ เดเดฒเตเดฒเดพ เดซเตเตพเดกเดฑเตเดเดณเตเด เดธเดฌเต-เดซเตเตพเดกเดฑเตเดเดณเตเด เดซเดฏเดฒเตเดเดณเตเด เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเดจเตเดจเต
$ rm ./**/*(.Dmh+1,.DL0)
# 6 เดฎเดฃเดฟเดเตเดเตเดฑเดฟเดฒเดงเดฟเดเด เดชเดดเดเตเดเดฎเตเดณเตเดณ เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเดจเตเดจเต
$ rm -f **/*(mh+6)
# เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด เดจเตเดเตเดเดเดเตเดฏเตเดฏเตเดจเตเดจเต, เดเดจเตเดจเดพเตฝ เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดชเดคเตเดคเต (เด เดตเดธเดพเดจ 10 เดเดดเดฟเดเต เดเดฒเตเดฒเดพเด เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเด
เดเดฐเต เดกเดฏเดฑเดเตเดเดฑเดฟเดฏเดฟเตฝ # เดซเดฏเดฒเตเดเตพ)
$ rm ./*(เดเด[1,-11])
เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเด: เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดเตผเดเต เดฒเดฟเดธเตเดฑเตเดฑเต เดตเดณเดฐเต เดฆเตเตผเดเตเดฏเดฎเตเดฑเดฟเดฏเดคเดพเดฃเตเดเตเดเดฟเตฝ, เดจเดฟเดเตเดเตพ เดฌเดฟเตฝเดฑเตเดฑเตเดเตป rm เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต. เดตเตเดฃเตเดเดฟ
เดเดฆเดพเดนเดฐเดฃเด:
$ zmodload zsh/files ; rm -f **/*(mh+6)
เด เดฒเตเดฒเตเดเตเดเดฟเตฝ zargs เดซเดเดเตโเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเตเด:
$ เดเดเตเดเตเดฒเตเดกเต เดธเดพเตผเดเตเดเตพ ; zargs **/*(mh+6) -- rm -f
# Z-เดทเตเดฒเตเดฒเดฟเดฒเตเดเตเดเตเดณเตเดณ เดเดฐเต เดเดชเดฏเตเดเตเดคเต เดเตเดกเต /5.9: เดซเดฏเตฝเดจเดพเดฎเด เดเดจเดฑเตเดทเดจเตเด เดชเดพเดฑเตเดฑเตเดฃเตเด
# เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดคเตเดคเตฝ เดเดฒเตเดฒเดพ เดเดชเดกเดฏเดฑเดเตโเดเดฑเดฟเดเดณเดฟเดฒเตเดฏเตเด เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด เดเดฃเตเดเตเดคเตเดคเตเด, เดเดตเตผเดคเตเดคเดฟเดเตเดเต เดคเดฟเดฐเดฏเตเด,
# เดจเตฝเดเดฟเดฏ เดชเตเดฐเตเดณเตเดณ, เดเตเดธเต เดธเตเตปเดธเดฟเดฑเตเดฑเตเดตเต, เดเตเดฑเดเตเดเดคเต 50 KB เดตเดฒเตเดคเดพเดฃเต,
# เดเดฐเดพเดดเตโเดเดฏเดฟเตฝ เดเตเดเตเดคเตฝ เดชเดดเดเตเดเดฎเตเดณเตเดณเดคเตเด เดฑเตเดเตเดเต เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเตเดฑเต เดเดเดฎเดธเตเดฅเดคเดฏเดฟเดฒเตเดณเตเดณเดคเตเด เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเดคเตเด
# เดชเตเดฐเดฟเดจเตเดฑเต เด เดเตเดทเดฐเดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดฒเต เดเดฐเตเดฑเตเดฑ เดชเดฟเดถเดเดฟเดจเต. เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เดเดตเดถเตเดฏเดฎเตเดณเตเดณเดคเต
# เดเดเตเดธเตเดชเตเดฐเดทเตป เดเดคเตเดชเตเดฒเต เดเดพเดฃเดชเตเดชเตเดเตเดจเตเดจเต:
$ ls **/(#ia1)เดชเตเดฐเต(LK+50mw-1u0)
# UID 102-เตฝ เดจเดฟเดจเตเดจเต 666-เดฒเตเดเตเดเต เดฎเดพเดฑเตเดฑเตเด
$ เดเตเตบ 666 **/*(u102)
# เดเดดเดฟเดเตเด 10 เดฎเดฃเดฟเดเตเดเตเตผ เดฎเตเดคเตฝ เด เดชเตโเดกเตเดฑเตเดฑเต เดเตเดฏเตเดฏเดพเดคเตเดค เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด เดฒเดฟเดธเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด
$ print -rl -- *(Dmh+10^/)
# เดเดฐเต เดกเดฏเดฑเดเตเดเดฑเดฟเดฏเดฟเดฒเต เดเดฑเตเดฑเดตเตเด เดชเดดเดฏ เดซเดฏเตฝ เดฎเดพเดคเตเดฐเด เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเด
$ rm ./*เดซเดฏเดฒเดฟเดจเตเดฑเต เดชเตเดฐเต*(เดเด[1])
# เดซเดฏเตฝ เดตเดฒเตเดชเตเดชเดฎเดจเตเดธเดฐเดฟเดเตเดเต `ls -l' เตฝ เดจเดฟเดจเตเดจเต เดเดเตเดเตโเดชเตเดเตเดเต เด เดเตเดเตเดเตเด
$ ls -fld *(OL)
# เดเดฐเต เดกเดฏเดฑเดเตเดเดฑเดฟเดฏเดฟเตฝ เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดซเดฏเตฝ เดเดฃเตเดเตเดคเตเดคเตเด
$ setopt dotglob; เดชเตเดฐเดฟเดจเตเดฑเต เดกเดฏเดฑเดเตโเดเดฑเดฟ/**/*(เดเด[1])
# 'เดเตเดฐเตเดชเตเดชเต' เด เดฒเตเดฒเตเดเตเดเดฟเตฝ 'เดตเตเตพเดกเต เดฑเตเดฑเตเดฑเดฌเดฟเตพ' เด เดฒเตเดฒเดพเดคเตเดค เดถเตเดจเตเดฏเดฎเดพเดฏ เดซเดฏเดฒเตเดเตพ เดฎเดพเดคเตเดฐเด เดเดพเดฃเดฟเดเตเดเตเด
$ ls *(L0f.go-w.)
# เดกเดฏเดฑเดเตโเดเดฑเดฟเดเดณเดฟเดฒเตเด เดธเดฌเตโเดกเดฟเดฑเตเดเดณเดฟเดฒเตเด เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดชเดคเตเดคเต เดซเดฏเดฒเตเดเตพ เดเดฃเตเดเตเดคเตเดคเตเด - เดชเดเตเดเดฟเดเดชเตเดชเตเดเตเดคเตเดคเตเด.
# (เดเดตเตผเดคเตเดคเดจเดชเดฐเด)
$ print -rl -- **/*(Dom[1,10])
# "ls" เดเดฎเดพเตปเดกเต เดชเตเดฐเดเดพเดฐเด 5 เดตเดฐเดฟเดเตพ เดฎเดพเดคเตเดฐเด เดชเตเดฐเดฟเดจเตเดฑเต เดเตเดฏเตเดฏเตเด (`ls -laS | head -n 5'' เดชเตเดฒเต).
$ ls -fl *(DOL[1,5])
# เด เดตเดธเดพเดจเด เดชเดฐเดฟเดทเตเดเดฐเดฟเดเตเด 5-10 เดซเดฏเดฒเตเดเตพ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเด.
$ print -rl -- /path/to/dir/**/*(D.om[5,10])
# เดธเดพเดงเตเดตเดพเดฏ เดเดฐเต เดเดเดฎ เดเดฒเตเดฒเดพเดคเต เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด เดเดฃเตเดเตเดคเตเดคเตเด.
$ chmod someuser /**/*(D^u:${(j.:u:.)${(f)"$(/ etc / passwd)"}%%:*} :)
# เดเดฐเต เดเตเดฐเตเดฏเดฟเดฒเต เดเดฒเตเดฒเดพ เดถเตเดจเตเดฏเดฎเดพเดฏ เดกเดฏเดฑเดเตเดเดฑเดฟเดเดณเตเด เดเดฃเตเดเตเดคเตเดคเตเด.
*/*(/l2) เดเดจเตเดจเดคเดฟเดฒเต f-เดจเต $; do foo=($f/*(N)); [[ -z $foo ]] && เดชเตเดฐเดฟเดจเตเดฑเต $f; เดเตเดฏเตเดคเต
# เดเตเดฑเดฟเดชเตเดชเต: Zsh 4.2.1 เดฎเตเดคเตฝ เดเตเดฒเตเดฌเต เดเตเดตเดพเดณเดฟเดซเดฏเตผ F เดเดฐเต เดถเตเดจเตเดฏเดฎเดฒเตเดฒเดพเดคเตเดค เดกเดฏเดฑเดเตเดเดฑเดฟเดฏเต เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต.
# เด เดคเดฟเดจเดพเตฝ *(F) เดเตปเดเตเดฐเดฟเดเดณเตเดณเตเดณ เดเดฒเตเดฒเดพ เดเดชเดกเดฏเดฑเดเตโเดเดฑเดฟเดเดณเตเดฏเตเด เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต, *(/^F) เดเดจเตเดจเดพเตฝ เดเดฒเตเดฒเดพเด
เดเตปเดเตเดฐเดฟเดเดณเดฟเดฒเตเดฒเดพเดคเตเดค # เดเดชเดกเดฏเดฑเดเตโเดเดฑเดฟเดเตพ.
$ ls -ld *(/^F)
# เด เดคเดฟเดจเตเดถเตเดทเด เดถเตเดจเตเดฏเดฎเดพเดฏ เดกเดฏเดฑเดเตเดเดฑเดฟเดเตพ เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด.
$ rmdir ./**/*(/od) 2> /dev/null
# เดเตเดฐเตเดชเตเดชเต `เดเดชเดฏเตเดเตเดคเดพเดเตเดเดณเตเดเต' เดเดเดฎเดธเตเดฅเดคเดฏเดฟเดฒเตเดณเตเดณ เดซเดฏเดฒเตเดเตพ เดฎเดพเดคเตเดฐเด เดเดพเดฃเดฟเดเตเดเตเด.
$ ls -l *(G[เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพ])
เดฎเตเดกเดฟเดซเดฏเดฑเตเดเตพ เดเดชเดฏเตเดพเดเด
เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเตผ เดชเตเดฐเดเดพเดฐเด เดจเตฝเดเตเดจเตเดจ เดซเดฒเดเตเดเตพ เดชเดฐเดฟเดทเตโเดเตเดเดฐเดฟเดเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจ เดถเดเตเดคเดฎเดพเดฏ เดเดฐเต เดธเดเดตเดฟเดงเดพเดจเดฎเดพเดฃเต เดฎเตเดกเดฟเดซเดฏเดฑเตเดเตพ,
เดซเดฏเดฒเดฟเดจเตเดฑเต เดชเตเดฐเตเด เดเดฐเดฟเดคเตเดฐ เดตเดฟเดชเตเดฒเตเดเดฐเดฃเดตเตเด. เดเดพเดฃเตเด zshexpn(1) เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพเดเตเดเต.
# เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเด: Zsh 4.3.4 เดเดตเดถเตเดฏเดฎเดพเดฃเต!
$ เดเดเตเดเตเดฒเตเดกเต -เดฏเต เดตเดฏเดธเตเดธเต
เดเดจเตเดจเต # เดซเดฏเดฒเตเดเตพ เดชเดฐเดฟเดทเตโเดเตเดเดฐเดฟเดเตเดเต
$ เดชเตเดฐเดฟเดจเตเดฑเต *(เด:เดเดจเตเดจเดคเตเดคเต เดตเดฏเดธเตเดธเต :)
เดตเตเดเตเดจเตเดจเตเดฐเด 5 เดฎเดฃเดฟ เดฎเตเดคเตฝ # เดซเดฏเดฒเตเดเตพ เดชเดฐเดฟเดทเตโเดเตเดเดฐเดฟเดเตเดเต
$ เดชเตเดฐเดฟเดจเตเดฑเต *(เด-เดตเดฏเดธเตเดธเต 17:00 เดเดชเตเดชเตเตพ-)
# ... เดเดจเตเดจเดฒเต 5 เดฎเดฃเดฟ เดฎเตเดคเตฝ
$ เดชเตเดฐเดฟเดจเตเดฑเต *(เด-เดเดเต เดเดจเตเดจเดฒเต, 17:00 เดเดชเตเดชเตเตพ-)
# ... เดเดดเดฟเดเตเด เดเตเดฐเดฟเดธเตเดฎเดธเต เดฎเตเดคเตฝ เดเดจเตเดจเตเดตเดฐเต
$ เดชเตเดฐเดฟเดจเตเดฑเต *(เด-เดเดเต 2006/12/25 เดเดจเตเดจเต-)
# ... เดเดจเตเดจเดฒเต เดฎเตเดฎเตเดชเต
$ เดชเตเดฐเดฟเดจเตเดฑเต *(เด-เดเดเต 1970/01/01 เดเดจเตเดจเดฒเต-)
# เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด เด เดคเตเดฏเดคเดฟเดเดณเตเดเต เดเดฐเดเดญเดคเตเดคเดฟเดจเดฟเดเดฏเดฟเตฝ เดชเดฐเดฟเดทเตโเดเตเดเดฐเดฟเดเตเดเต
$ เดชเตเดฐเดฟเดจเตเดฑเต *(เด: เดตเดฏเดธเตเดธเต 2006/10/04 2006/10/09:)
# เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด เด เดคเตเดฏเดคเดฟเดฏเดฟเตฝ เดชเดฐเดฟเดทเตเดเดฐเดฟเดเตเดเต
$ เดชเตเดฐเดฟเดจเตเดฑเต *(เด: เดตเดฏเดธเตเดธเต 2006/10/04:)
# เดตเดฟเดคเดฐเดฃ เดธเดฎเดฏเด.
$ print *(e-age 2006/10/04:10:15 2006/10/04:10:45-)
# เดคเดฒ เดเดชเตเดเตเดทเดฟเดเตเดเต เดเดฐเต เดเตเดฐเตเดฏเดฟเดฒเดฟเดเดเต เดชเดพเดคเตเดคเต เดจเตเดฏเดฟเด เดเดเดเด เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด. เดเดคเต เดชเตเดฒเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต
# `เดคเดฟเดฐเตเดจเดพเดฎเด'.
$ เดเดเตเดเต =ls(:h)
/ เดฌเดฟเตป
# เดเดฒเตเดฒเดพ เดฎเตเตปเดจเดฟเดฐ เดชเดพเดคเตเดคเตโเดจเตเดฏเดฟเด เดเดเดเดเตเดเดณเตเด เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด, เดตเดพเตฝ เดตเดฟเดเตเดเต. เดเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต
# `เด เดเดฟเดธเตเดฅเดพเดจเดจเดพเดฎเด' เดชเตเดฒเต.
$ เดเดเตเดเต =ls(:t)
ls
# เดเดฐเต เดซเดฏเดฒเดฟเตฝ เดจเดฟเดจเตเดจเตเด เดชเตเดฐเดคเตเดฏเดฏเด เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด (*.sh เด เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ)
$f:e เดเดจเตเดจเดคเต $f เดซเดฏเตฝ เดตเดฟเดชเตเดฒเตเดเดฐเดฃเดฎเดพเดฃเต
:h --> เดคเดฒ (เดชเตเดฐเต)
:t --> เดตเดพเตฝ (เด เดเดฟเดธเตเดฅเดพเดจ เดจเดพเดฎเด)
:r --> เดตเดฟเดถเตเดฐเดฎเด (เดตเดฟเดชเตเดฒเตเดเดฐเดฃเด เดจเตเดเตเดเดเดเตเดฏเตเดคเต)
$ f (*.sh) mv $f $f:r
# เดฑเตเดเตเดเต เดจเดพเดฎเด เดเดชเตเดเตเดทเดฟเดเตเดเต `.xxx' เดซเตเดฎเดฟเดจเตเดฑเต เดเดฐเต เดซเดฏเตฝ เดจเตเดฏเดฟเด เดเดเตเดธเตเดฑเตเดฑเตปเดทเตป เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด.
$ เดเดเตเดเต $PWD
/usr/src/linux
$ เดเดเตเดเต $PWD:t
เดฒเดฟเดจเดเตเดธเต
# เดตเดฟเดชเตเดฒเตเดเดฐเดฃเด เดเดดเดฟเดเต เดเดฒเตเดฒเดพเด เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด.
$ foo=23.42
$ เดเดเตเดเต $foo
23.42
$ เดเดเตเดเต $foo:e
42
# เดชเตเดคเดฟเดฏ เดเดฎเดพเตปเดกเต เดชเตเดฐเดฟเดจเตเดฑเต เดเตเดฏเตเดฏเตเด, เดชเดเตเดทเต เด เดคเต เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเดฐเตเดคเต. เดเดฐเดฟเดคเตเดฐเดตเตเดฎเดพเดฏเดฟ เดฎเดพเดคเตเดฐเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต
# เดตเดฟเดชเตเดฒเตเดเดฐเดฃเด.
$ เดเดเตเดเต =ls(:h)
/ เดฌเดฟเตป
$!เดเดเตเดเต:เดชเดฟ
$ เดเดเตเดเต =ls(:h)
# เดชเดเดฐเด เดตเดฏเตเดเตเดเตเดจเตเดจ เดตเดพเดเตเดเตเดเตพ เดเดฆเตเดงเดฐเดฟเดเตเดเตเด, เดเตเดเตเดคเตฝ เดชเดเดฐเดเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดฐเดเตเดทเดชเตเดชเตเดเตเด.
$ เดฌเดพเตผ="23'42"
$ เดเดเตเดเต $เดฌเดพเตผ
23'42
$ เดเดเตเดเต $bar:q
23\'42
# เดเดฒเตเดฒเดพ เดเตเดฑเดฟเดฏเดเตเดทเดฐเดเตเดเดณเดฟเดฒเตเดเตเดเตเด เดตเดพเดเตเดเตเดเตพ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด เดเตเดฏเตเดฏเตเด.
$ เดฌเดพเตผ = FOOBAR
$ เดเดเตเดเต $เดฌเดพเตผ
FOOBAR
$ เดเดเตเดเต $bar:l
เดซเตเดฌเดพเตผ
# เดเดฒเตเดฒเดพ เดตเดฒเดฟเดฏเดเตเดทเดฐเดเตเดเดณเดฟเดฒเตเดเตเดเตเด เดตเดพเดเตเดเตเดเตพ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด เดเตเดฏเตเดฏเตเด.
$ เดฌเดพเตผ=เดซเตเดฌเดพเตผ
$ เดเดเตเดเต $เดฌเดพเตผ
เดซเตเดฌเดพเตผ
$ เดเดเตเดเต $bar:u
FOOBAR
# เดเดฐเต เดตเดพเดเตเดเดฟเดจเตเดฑเต เดเดฆเตเดฏ เดชเตเดฐเดคเตเดเด เดตเดฒเดฟเดฏเดเตเดทเดฐเดคเตเดคเดฟเดฒเตเดเตเดเต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด เดเตเดฏเตเดฏเตเด
$ foo="เดเดจเตเดจเต เดฐเดฃเตเดเต เดฎเตเดจเตเดจเต เดจเดพเดฒเต"
$ print -r -- "${(C)foo}"
เดเดจเตเดจเต เดฐเดฃเตเดเต เดฎเตเดจเตเดจเต เดจเดพเดฒเต
เดฑเตเดกเดฏเดฑเดเตเดทเตป-เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ
เดเดพเดฃเตเด zshmisc(1) เดเตเดเตเดคเตฝ เดตเดฟเดตเดฐเดเตเดเตพเดเตเดเต (เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเตเดฑเดตเต ${^fpath}/zmv(N))
# เดเดฒเตเดฒเดพ *.sh - เดซเดฏเดฒเตเดเดณเตเดเตเดฏเตเด เด เดตเดธเดพเดจเด `เดเดเตเดธเดฟเดฑเตเดฑเต 1' เดเตเตผเดเตเดเตเด
$ เดเดเตเดเต "เดเดเตโเดธเดฟเดฑเตเดฑเต 1" >> *.sh
# foobar.tar.gz-เดฒเตเดเตเดเต เดซเดฏเดฒเตเดเตพ เดเตเตผเดเตเดเตเดจเตเดจเต
$ eval set =(gunzip < foobar.tar.gz) '
tar rf $1 additional.txt &&gzip < $1 > foobar.tar.gz'
# เดเดเตเดเตโเดชเตเดเตเดเต เดเดฐเต เดซเดฏเดฒเดฟเดฒเตเดเตเดเต เดฑเตเดกเดฏเดฑเดเตโเดเต เดเตเดฏเตโเดคเต เดธเตโเดเตเดฐเตเดจเดฟเตฝ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเด
$ foobar >&1 > file1 > file2 > ..
เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดเตปเดชเตเดเตเดเตเดเดณเดฟเดฒเตเดเตเดเต # เดชเตเดชเตเดชเต เดเดฑเตเดฑ เดเดเตเดเตเดชเตเดเตเดเต
$ zcat foobar.Z >> (gzip -9 > file1.gz) \
>> (bzip2 -9 > file1.bz2) \
>> (acb --best > file1.acb)
# เดเตเดเตเดเดฟเดเตเดเตเตผเดเตเดเตเด / etc / services เดซเดฏเดฒเดฟเดจเตเดฑเต เด เดตเดธเดพเดจเด `foo', `bar'
$ เดชเตเดเตเด / etc / services >> foo >> เดฌเดพเตผ
# เดชเตเดชเตเดชเต STDERR
$ echo เดเดฐเต เดชเดฟเดถเดเต >&2 2>&1 | sed -e 's/A/I/'
# เดจเดฟเดฐเดตเดงเดฟ เดชเตเดฐเตเดธเดธเตเดธเตเดเดณเตเดเต เดธเตเดฑเตเดฑเดพเตปเดกเตเตผเดกเต เดเตปเดชเตเดเตเดเดฟเดฒเตเดเตเดเต เดเดฐเต เดชเตเดฐเตเดธเดธเตเดธเดฟเดจเตเดฑเต เดธเตเดฑเตเดฑเดพเตปเดกเตเตผเดกเต เดเดเตเดเตเดชเตเดเตเดเต เด เดฏเดฏเตเดเตเดเตเด
# เดชเตเดชเตเดชเต เดฒเตเดจเดฟเตฝ
$ setopt multios
$ process1 > >(process1) > >(process2)
# เดเดฐเต เดตเตเดฐเดฟเดฏเดฌเดฟเตพ เดเดฐเดเดญเดฟเดเตเดเตเดเดฏเตเด เดเดฐเตเดธเดฎเดฏเด เดเตเตผเดฎเดฟเดจเตฝ เดเดเตเดเตเดชเตเดเตเดเต เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต
$ setopt multios
$ { a=$(เดเดฎเดพเตปเดกเต >&1 >& 3 3 > &- 2>&1);} 3>&1
# stderr เดฐเดฃเตเดเต เดคเดตเดฃ เดฑเตเดกเดฏเดฑเดเตโเดเต เดเตเดฏเตเดฏเตเด
$ setopt multios ; เดชเตเดฐเตเดเตเดฐเดพเด 2> เดซเดฏเตฝ2 > เดซเดฏเตฝ1 2>&1
# stdout เดเด stderr เดเด เดเดฐเต เดฒเตเดเตโเดซเตเดฒเดฟเดฒเตเดเตเดเต เดกเตเดฏเตเดชเตเดฒเดฟเดเตเดเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเต
$ เดเดเตเดธเดฟเดเต 3>&1 > เดฒเตเดเตเดซเดฏเตฝ 2>&2 2>&1 >&3 3>&-
# stderr (เดฎเดพเดคเตเดฐเด) เดเดฐเต เดซเดฏเดฒเดฟเดฒเตเดเตเดเตเด orig เดฒเตเดเตเดเตเด เดฑเตเดกเดฏเดฑเดเตโเดเต เดเตเดฏเตเดฏเตเด. stderr:
$ เดเดฎเดพเตปเดกเต 2>&2 2>stderr
# stderr เดเด stdout เดเด เดตเตเตผเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดซเดฏเดฒเตเดเดณเดฟเดฒเตเดเตเดเตเด เดฐเดฃเตเดเตเด orig เดฒเตเดเตเดเตเด เดฑเตเดกเดฏเดฑเดเตโเดเต เดเตเดฏเตเดฏเตเด. stdout:
$ เดเดฎเดพเตปเดกเต 2>&1 1>&1 2>stderr 1>stdout
# stderr เดเด stdout เดเด เดซเดฏเดฒเตเดเตพ เดตเตเตผเดคเดฟเดฐเดฟเดเตเดเดพเดจเตเด stdout orig เดฒเตเดเตเดเต เดฑเตเดกเดฏเดฑเดเตโเดเต เดเตเดฏเตเดฏเตเด. stdout
# AND stderr to orig. stderr:
$ เดเดฎเดพเตปเดกเต 2>&2 1>&1 2>stderr 1>stdout
# STDERR เดเดชเดฏเตเดเดฟเดเตเดเต เดเตเดเตเดคเตฝ เดฐเดธเดเดฐเด ;)
$ ./my-script.sh 2> >(grep -v moron >error.log)|process-output >output.log
$ echo "Thats STDOUT" >>(sed 's/stdout/เดฎเดฑเตเดฑเตเดฐเต เดเดฆเดพเดนเดฐเดฃเด/' > foobar)
ZMV-เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ (เดเดตเดถเตเดฏเดฎเดพเดฃเต เดเดเตเดเตเดฒเตเดกเต zmv)
เดเตเดฑเดฟเดชเตเดชเต: -n เดเดเตเดธเดฟเดเตเดฏเตเดทเตป เดเดฒเตเดฒ เดเดจเตเดจเตผเดคเตเดฅเด (เดเดจเตเดคเต เดธเดเดญเดตเดฟเดเตเดเตเดฎเตเดจเตเดจเต เดชเตเดฐเดฟเดจเตเดฑเต เดเตเดฏเตเดคเดพเตฝ เดฎเดคเดฟ). เดเตเดฏเตเดคเดคเต
# เดเดฐเต fat32 เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดฒเต เดจเดฟเดฏเดฎเดตเดฟเดฐเตเดฆเตเดง เดชเตเดฐเดคเตเดเดเตเดเตพ เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด. เดจเดฟเดฏเดฎเดตเดฟเดฐเตเดฆเตเดง เดเดฅเดพเดชเดพเดคเตเดฐเดเตเดเดณเดพเดฃเต
# / : ; *? " < > |
# เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเด: ``-Q'', (D) เดเดจเตเดจเดฟเดต เดฎเดฑเดเตเด เดซเดฏเดฒเตเดเตพ เดเตพเดชเตเดชเตเดเตเดคเตเดคเตเดจเตเดจเดคเดพเดฃเต.
$ unwanted='[:;*?\"<>|]'
$ zmv -Q "(**/)(*$~ เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเตเดค*)(D)" '$1${2//$~unwanted/}'
# เดเดฐเต เดซเดฏเตฝเดจเดพเดฎเดคเตเดคเดฟเดจเตเดฑเต เดญเดพเดเด เดฎเดพเดฑเตเดฑเตเดจเตเดจเต (เด เดคเดพเดฏเดคเต "file-hell.name" -> "file-heaven.name")
$ zmv '(*)เดจเดฐเดเด(*)' '${1}เดธเตเดตเตผเดเตเดเด${2}'
# เด เดฅเดตเดพ
$ zmv '*' '$f:s/เดจเดฐเดเด/เดธเตเดตเตผเดเตเดเด/'
# เดซเดฏเตฝ เดจเดพเดฎเดเตเดเตพเดเตเดเตเดณเตเดณเดฟเตฝ เดฑเตเดฃเตเดเต เดฌเตเดฐเดพเดเตเดเดฑเตเดฑเต เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด
# เด เดคเดพเดฏเดคเต foo-(bar).avi -> foo-bar.avi
$ zmv '*' '${f//[()]/}'
# เดธเตเดฐเดฟเดฏเดฒเดพเดฏเดฟ เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด (foo.foo > 1.foo, fnord.foo > 2.foo, ..)
$ เดเดเตเดเตเดฒเตเดกเต zmv
$l*
1.c asd.foo bla.foo fnord.foo foo.fnord foo.foo
$ c=1 zmv '*.foo' '$((c++)).foo'
$l*
1.c 1.foo 2.foo 3.foo 4.foo foo.fnord
# เดกเตเดเตเดเตเดเตพ เดฎเดพเดฑเตเดฑเดฟ เดชเดเดฐเด "file.with.many.dots.txt" เดเดจเตเดจเต เดชเตเดจเตผเดจเดพเดฎเดเดฐเดฃเด เดเตเดฏเตเดฏเตเด (เด เดตเดธเดพเดจเดคเตเดคเตเดคเต เดเดดเดฟเดตเดพเดเตเดเตเด
# เดเดจเตเดจเต!) เดเดฐเต เดธเตโเดชเตเดฏเตโเดธเดฟเดจเตเดชเตเดชเด
$ {1..20}-file.with.many.dots.txt เดธเตเดชเตผเดถเดฟเดเตเดเตเด
$ zmv '(*.*)(.*)' '${1//./ }$2'
# เดเดฐเต เดซเดฏเตฝ เดจเดพเดฎเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฆเตเดฏเดคเตเดคเต 4 เด เดเตเดทเดฐเดเตเดเตพ เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด
$ zmv -n '*' '$f[5,-1]' # เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเด: "5" เดเดดเตเดคเตเดจเตเดจเดคเดฟเตฝ เดคเตเดฑเตเดฑเดฟเดฒเตเดฒ!
# เดจเดฟเดฒเดตเดฟเดฒเต เดกเดฏเดฑเดฟเดจเต เดเตเดดเดฟเดฒเตเดณเตเดณ เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเดเตเดฏเตเด เดชเตเดฐเตเดเตพ เดเตเดฑเดฟเดฏเดเตเดทเดฐเดคเตเดคเดฟเดฒเตเดเตเดเต เดชเตเดจเตผเดจเดพเดฎเดเดฐเดฃเด เดเตเดฏเตเดฏเตเด, เดเดจเตเดจเดพเตฝ เดธเตเดเตเดทเดฟเดเตเดเตเด
# เดชเตเดฐเตเดเตพ.
$ zmv -Qv '(**/)(*)(.D)' '$1${(L)2}'
# "4" เดเดจเตเดจ เดจเดพเดฒเดพเดฎเดคเตเดคเต เดชเตเดฐเดคเตเดเด "1" เดฎเตเดคเดฒเดพเดฏเดต เดเดชเดฏเตเดเดฟเดเตเดเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเตเด
$ เดเดเตเดเตเดฒเตเดกเต -U zmv
$ zmv '(???)1(???[1-4].txt)' '${1}2${2}'
# เดเดฐเต เดธเตเดเตเดฐเดฟเดเดเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฆเตเดฏเดคเตเดคเต 15 เดชเตเดฐเดคเตเดเดเตเดเตพ เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด
$ เดเดเตเดเต 111111111111111{az}
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv '*' '$f[16,-1]'
# เดซเดฏเดฒเตเดเดณเตเดเต เดชเตเดฐเตเดเดณเดฟเตฝ เดเดฐเตเดฑเตเดฑ เดกเดพเดทเต เดเดชเดฏเตเดเดฟเดเตเดเต เดธเตโเดชเตเดฏเตโเดธเตเดเตพ (เด เดตเดฏเตเดเต เดเดคเตเดเตเดเดฟเดฒเตเด เดเดฃเตเดฃเด) เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเตเด
$ zmv เดเดเตเดเตเดฒเตเดกเต เดเตเดฏเตเดฏเตเด
$ zmv -n '(**/)(* *)' '$1${2//( #-## #| ##)/-}'
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ - เดฌเดพเดทเดฟเดจเตเดชเตเดชเด
$ เดเดฃเตเดเตเดคเตเดคเตเด. -depth -name '* *' -exec bash -c '
> shopt -s extglob
> เดซเดฏเตฝ=$1
> dir=${file%/*}
> เดชเตเดฐเต=${file##*/}
> เดชเตเดคเดฟเดฏ เดชเตเดฐเต=${เดชเตเดฐเต//*([ -]) *([ -])/-}
> mv -i -- "$file" "$Dir/$newname"' {} {} \;
# เดซเดฏเตฝ เดชเตเดฐเตเดเตพ เดตเตเดคเตเดคเดฟเดฏเดพเดเตเดเดฟ เดชเตเดฐเดคเตเดฏเตเด เดชเตเดฐเดคเตเดเดเตเดเตพ เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv -n '(**/)(*)' '$1${2//[^A-Za-z0-9._]/_}'
# เดเดฐเต เดกเดฏเดฑเดเตโเดเดฑเดฟเดฏเดฟเดฒเต เดเดฐเต เดเตเดเตเดเด เดชเตเดคเตเดคเตบ เดธเตโเดเตเดฐเดฟเดชเตเดฑเตเดฑเตเดเดณเดฟเดฒเตเดเตเดเต *.py เดเตเตผเดเตเดเตเด (เด เดตเดฏเดฟเตฝ เดเดฟเดฒเดคเต เด เดตเดธเดพเดจเดฟเดเตเดเตเดจเตเดจเต
# in *.py เด เดตเดฏเตโเดเตเดเตเดฒเตเดฒเดพเด เดถเดฐเดฟเดฏเดพเดฏ เดตเดฟเดชเตเดฒเตเดเดฐเดฃเด เดจเตฝเดเตเด
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv -n '(**/)(con*)(#qe, เดซเดฏเตฝ $REPLY | grep "python script",)' '$1$2.py'
# เดเดฒเตเดฒเดพ เดตเดฟเดชเตเดฒเตเดเดฐเดฃเดเตเดเดณเตเด (เด เดคเดพเดฏเดคเต *.JPG) เดเตพเดชเตเดชเตเดเต เดเตเดฑเดฟเดฏเดเตเดทเดฐเด. เดธเดฌเตเดซเตเตพเดกเดฑเตเดเตพ
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv '(**/)(*).(#i)jpg' '$1$2.jpg'
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ - Zsh เดเดฒเตเดฒเดพเดคเต
$ เดเดฃเตเดเตเดชเดฟเดเดฟเดเตเดเตเด เดฆเดฟเตผ -เดจเดพเดฎเด '*.[jJ][pP][gG]' -print | เดตเดพเดฏเดฟเดเตเดเตเดฎเตเดชเตเตพ f
> เดเตเดฏเตเดฏเตเด
> เดเตเดธเต $f เดเตป
> *.jpg);
> *) mv "$f" "${f%.*}.jpg" loading="lazy" ;
> esac
> เดเตเดฏเตเดคเต
# เดซเดฏเตฝ เดเดเตเดธเตเดฑเตเดฑเตปเดทเดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเตเตปเดจเดฟเดฐ เดชเตเดเตเดฏเดเตเดเตพ เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด
$ เดเดเตเดเตเดฒเตเดกเต zmv
s ls
filename.001 filename.003 filename.005 filename.007 filename.009
filename.002 filename.004 filename.006 filename.008 filename.010
$ zmv '(เดซเดฏเดฒเดฟเดจเตเดฑเต เดชเตเดฐเต.)0##(?*)' '$1$2'
s ls
filename.1 filename.10 filename.2 filename.3 filename.4 filename.5 ..
# เดซเดฏเดฒเตเดเตพ เดตเตเดฃเตเดเตเด เดจเดฎเตเดชเตผ เดเตเดฏเตเดฏเตเด.
$ เดเดเตเดเตเดฒเตเดกเต zmv
$l*
foo_10.jpg foo_2.jpg foo_3.jpg foo_4.jpg foo_5.jpg foo_6.jpg ..
$ zmv -fQ 'foo_(<0->).jpg(.nOn)' 'foo_$(($1 + 1)).jpg'
$l*
foo_10.jpg foo_11.jpg foo_3.jpg foo_4.jpg foo_5.jpg ...
# เดเดฐเต เดซเดฏเตฝ เดจเดพเดฎเดคเตเดคเดฟเดฒเตเดเตเดเต เดฎเตเตปเดจเดฟเดฐ เดชเตเดเตเดฏเดเตเดเตพ เดเตเตผเดเตเดเตเดจเตเดจเต (1.jpg -> 001.jpg, ..
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv '(<1->).jpg' '${(l:3::0:)1}.jpg'
# เดฎเตเดเดณเดฟเตฝ เดเดพเดฃเตเด, เดเดจเตเดจเดพเตฝ เดเดชเตเดชเตเตพ เดซเดฏเดฒเดฟเดจเตเดฑเต เดชเตเดฐเต >= 30 เด เดเตเดทเดฐเดเตเดเดณเตเดณเตเดณ เดซเดฏเดฒเตเดเตพ เดฎเดพเดคเตเดฐเด
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ c=1 zmv "${(l:30-4::?:)}*.foo" '$((c++)).foo'
# เดซเดฏเตฝเดจเดพเดฎเดเตเดเดณเดฟเดฒเต เดธเตโเดชเตเดฏเตโเดธเตเดเตพ เด เดเดฟเดตเดฐ เดเดชเดฏเตเดเดฟเดเตเดเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเตเด
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv '* *' '$f:gs/ /_'
# *.sh เดเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต *.pl เดเดจเตเดจ เดชเตเดฐเดคเตเดฏเดฏเด เดฎเดพเดฑเตเดฑเตเด
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv -W '*.sh' '*.pl'
# ${HOME} เดเดจเตเดจเดคเดฟเดฒเต เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเดฟเดฒเตเดเตเดเตเด เดเดฐเต "".txt" เดตเดฟเดชเตเดฒเตเดเดฐเดฃเด เดเตเตผเดเตเดเตเด
# ``-.'' เดเดจเตเดจเดคเต เดธเดพเดงเดพเดฐเดฃ เดซเดฏเดฒเตเดเดณเต เดธเดฟเดเดฒเดฟเดเตเดเตเดเดณเต เดธเดพเดงเดพเดฐเดฃ เดซเดฏเดฒเตเดเดณเดพเดฏเดฟ เดชเตเดจเตผเดจเดพเดฎเดเดฐเดฃเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเดพเดฃเต,
# ``D'' เดเดจเตเดจเดคเต เดฎเดฑเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดซเดฏเดฒเตเดเดณเตเดเต เดชเตเดฐเตเดฎเดพเดฑเตเดฑเดพเดจเตเด (dotfiles) เดเดฃเต.
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv -Q '/ เดตเตเดเต /**/*(D-.)' '$f.txt'
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดตเดฟเดชเตเดฒเตเดเดฐเดฃเดฎเดฟเดฒเตเดฒเดพเดคเตเดค เดซเดฏเดฒเตเดเดณเตเดเต เดชเตเดฐเตเดฎเดพเดฑเตเดฑเดพเตป เดฎเดพเดคเตเดฐเด:
$ zmv -Q '/ เดตเตเดเต /**/^?*.*(D-.)' '$f.txt'
# เดชเตเดฐเดคเตเดเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดซเดฏเตฝเดจเดพเดฎเดเตเดเตพ เดเดตเตผเดคเตเดคเดฟเดเตเดเต เดฎเดพเดฑเตเดฑเดฃเต? [ ] / = + < > ; : ", - *
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ chars='[][?=+<>;",*-]'
$ zmv '(**/)(*)' '$1${2//$~chars/%}'
# เดซเดฏเตฝเดจเดพเดฎเดเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฐเตเดฑเตเดฑ เดเดฆเตเดงเดฐเดฃเดฟ เดจเตเดเตเดเดเดเตเดฏเตเดฏเตเดจเตเดจเต (เดเดตเตผเดคเตเดคเดจเดชเดฐเดฎเดพเดฏเดฟ)
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv -Q "(**/)(*'*)(D)" "\$1\${2//'/}"
# เดเดฐเต เดชเตเดคเดฟเดฏ เดซเดฏเตฝ เดตเดฐเตเดฎเตเดชเตเตพ (file.txt เดเดจเตเดจเต เดชเตเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต) เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเดเตเดฏเตเด เดชเตเดฐเตเดฎเดพเดฑเตเดฑเตเด
# เดจเตเดเตเด (เดเดฆเดพ: file119.txt file120.txt เดเดฏเดฟ เดฎเดพเดฑเตเดจเตเดจเต, file118.txt เดเดฏเดฟ เดฎเดพเดฑเตเดจเตเดจเต.
# file119.txt, เด เดเตเดเดจเต เด เดตเดธเดพเดจเดฟเดเตเดเตเดจเตเดจเดคเต file.txt-เตฝ file1.txt เดเดฏเดฟ เดฎเดพเดฑเตเดจเตเดจเต
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv -fQ 'เดซเดฏเตฝ([0-9]##).txt(เดเตบ)' 'เดซเดฏเตฝ$(($1 + 1)).txt'
# เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด/เดกเดฏเดฑเดเตโเดเดฑเดฟเดเดณเตเด เดเตเดฑเดฟเดฏเดเตเดทเดฐเด/เด เดชเตเดชเตผเดเตเดทเดฐเด
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv '(*)' '${(L)1}' # เดเตเดฑเดฟเดฏเดเตเดทเดฐเด
$ zmv '(*)' '${(U)1}' # เดตเดฒเดฟเดฏเดเตเดทเดฐเด
# เดเดฒเตเดฒเดพ เดธเดฟ-เดซเดฏเดฒเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด *.c เดเดจเตเดจ เดชเตเดฐเดคเตเดฏเดฏเด เดจเตเดเตเดเด เดเตเดฏเตเดฏเตเด
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv '(*).c' '$1'
# เดเดฒเตเดฒเดพ *.mp3 - เดซเดฏเดฒเตเดเดณเตเดเตเดฏเตเด เดเดฆเตเดฏ เด เดเตเดทเดฐเด เดฎเดพเดคเตเดฐเด เดตเดฒเดฟเดฏเดเตเดทเดฐเด
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv '([az])(*).mp3' '${(C)1}$2.mp3'
# เดเดพเตผเดเตเดฑเตเดฑเต `README' เดเดฐเต `Makefile'เดจเตเดฑเตเดฏเตเด เด เดคเต เดกเดฏเดฑเดเตเดเดฑเดฟเดฏเดฟเตฝ เดชเดเตผเดคเตเดคเตเด
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv -C '(**/)Makefile' '${1}README'
# เดซเดฏเตฝเดจเดพเดฎเดเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฐเตเดฑเตเดฑ เดเดฆเตเดงเดฐเดฃเดฟ เดจเตเดเตเดเดเดเตเดฏเตเดฏเตเดจเตเดจเต (เดเดตเตผเดคเตเดคเดจเดชเดฐเดฎเดพเดฏเดฟ)
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv -Q "(**/)(*'*)(D)" "\$1\${2//'/}"
# pic1.jpg, pic2.jpg, .. pic0001.jpg, pic0002.jpg, .. เดเดจเตเดจเต เดชเตเดจเตผเดจเดพเดฎเดเดฐเดฃเด เดเตเดฏเตเดฏเตเด
$ เดเดเตเดเตเดฒเตเดกเต zmv
$ zmv 'pic(*).jpg' 'pic${(l:4::0:)1}.jpg'
$ zmv '(**/)pic(*).jpg' '$1/pic${(l:4::0:)2}.jpg' # เดเดตเตผเดคเตเดคเดฟเดเตเดเต
เดฎเตเดกเตเดฏเตเตพ-เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ
เดฆเดฏเดตเดพเดฏเดฟ เดตเดพเดฏเดฟเดเตเดเตเด zshmodules(1) เดเดฆเตเดฏเด!
zsh/pcre (เดเดตเดถเตเดฏเดฎเดพเดฃเต zmodload zsh/pcre)
# เดเดฐเต เดจเดฟเดถเตเดเดฟเดค เดเดพเดฒเดฏเดณเดตเดฟเดฒเต เดซเดฏเดฒเตเดเตพ เดชเดเตผเดคเตเดคเตเด (เดซเดฏเตฝ เดจเดพเดฎเดเตเดเดณเดฟเตฝ เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดคเตเดฏเดคเดฟ)
$ zmodload zsh/pcre
$ ls -d -- *(e:'[[ $REPLY -pcre-match pcre-regexp ]]':)
# เด เดฅเดตเดพ
$ m() { [[ $1 -pcre-match pcre-regexp ]]}
$ ls -d -- *(+m)
zsh/เดเตเดฒเตเตบ (เดเดตเดถเตเดฏเดฎเดพเดฃเต zmodload zsh/เดเตเดฒเตเตบ)
# เดจเดฟเดฒเดตเดฟเดฒเต เดทเตเดฒเตเดฒเดฟเดจเตเดฑเต เดซเตเตผเดเตเดเตเดกเต เดเตปเดธเตโเดฑเตเดฑเตปเดธเต เดธเตเดทเตโเดเดฟเดเตเดเตเดจเตเดจเต ($! เดชเตเดเตเดฏเดฎเดพเดฏเดฟ เดธเดเตเดเตเดเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต) เดเดชเตเดชเด
# /dev/tty8-เตฝ ``เดเดฎเดพเตปเดกเต' เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเตเด (เด เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต).
$ zmodload zsh/clone
$ clone /dev/tty8 && (($! == 0)) && exec เดเดฎเดพเตปเดกเต
zsh/เดคเตเดฏเดคเดฟ เดธเดฎเดฏเด (เดเดตเดถเตเดฏเดฎเดพเดฃเต zmodload zsh/เดคเตเดฏเดคเดฟ เดธเดฎเดฏเด)
$ zmodload zsh/datetime
$ เด เดชเดฐเดจเดพเดฎเด datereplacement='strftime "%Y-%m-%d" $EPOCHSECONDS'
$ เดเดฏเดฑเตเดฑเตเดฎเดคเดฟ DATE=`datereplacement`
$ เดเดเตเดเต $DATE
เดซเดฏเดฒเดฟเดจเตเดฑเต เดชเตเดฐเดฟเตฝ เดจเดฟเดจเตเดจเต # เดธเตเดเตเดฐเดฟเดชเตเดชเต เดคเตเดฏเดคเดฟ
$ $ zmodload zsh/datetime
$ เดธเตเดฑเตเดฑเตเดชเตเดฑเตเดฑเต เดตเดฟเดชเตเดฒเตเดเตเดค เดเตเดฒเตเดฌเต
$ เดเดเตเดเต aaa_bbb_20041212_c.dat eee_fff_20051019_g.dat
$ strftime -s เดชเดพเดฑเตเดฑเตเตบ \
'???_???_<0-%Y%m%d>_?.dat' $((EPOCHSECONDS - 365 * 24 * 60 * 60 / 2))
$ เดชเตเดฐเดฟเดจเตเดฑเต -rl -- $~ เดชเดพเดฑเตเดฑเตเตบ
aaa_bbb_20041212_c.dat
$ เดชเตเดฐเดฟเดจเตเดฑเต -rl -- $เดชเดพเดฑเตเดฑเตเตบ
???_???_<0-20050815>_?.dat
# เดซเดฏเดฒเตเดเดณเตเดเต เดตเดฒเตเดชเตเดชเด == 0 เดคเดฟเดฐเดฏเตเด, เดเดฐเต เดคเตเดฏเดคเดฟ เด เดเดเตเดเตเดจเตเดจ เดซเดฏเดฒเดฟเดจเตเดฑเต เดชเตเดฐเดฟเดจเต เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ
# เดซเดฏเดฒเดฟเดจเตเดฑเต "เด เดตเดธเดพเดจเด เดชเดฐเดฟเดทเตเดเดฐเดฟเดเตเด" เดคเตเดฏเดคเดฟเดเตเดเต เดชเดเดฐเด
$ zmodload -i zsh/datetime
$ strftime -s เดซเดฏเตฝ "abc_de_%m%d%Y.dat" $((EPOCHSECONDS - 24 * 60 * 60 ))
$ เดซเดฏเดฒเตเดเตพ=(**/$file(N.L0))
$ (( $#เดซเดฏเดฒเตเดเตพ > 0 )) && เดชเตเดฐเดฟเดจเตเดฑเต -rl -- $files | \
mailx -s "เดถเตเดจเตเดฏเดฎเดพเดฏ เดซเดฏเดฒเตเดเตพ" [เดเดฎเตเดฏเดฟเตฝ เดชเดฐเดฟเดฐเดเตเดทเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต]
zsh/stat (เดเดตเดถเตเดฏเดฎเดพเดฃเต zmodload zsh/stat)
# เดเดฐเต เดชเตเดฐเดคเตเดเดพเดคเตเดฎเด เดฒเดฟเดเตเดเต เดเดฐเต เดจเดฟเดถเตเดเดฟเดค เดซเดฏเดฒเดฟเดฒเตเดเตเดเต เดฒเดฟเดเตเดเตเดเตเดฏเตเดฏเตเดจเตเดจเตเดฃเตเดเตเดฏเตเดจเตเดจเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด
$ zmodload -i zsh/stat
$! stat -LH s foo.ln || [[ $s[link] != "foo.exe" ]] || ln -sf foo.exe foo.ln
# เดซเดฏเตฝ เดคเตเดฏเดคเดฟเดเตพ เดคเดพเดฐเดคเดฎเตเดฏเด เดเตเดฏเตเดฏเตเดจเตเดจเต
$ zmodload zsh/stat
$ เดซเดฏเตฝ1=foo
$ เดซเดฏเตฝ2=เดฌเดพเตผ
$ เดเดเตเดเต เดฌเดพเตผ & เดธเตเดฒเตเดชเตเดชเต 5 & เดเดเตเดเต เดซเต
$ เดเดเตเดเต $file1 เดเดฃเต $(($(stat +mtime $file2) - \
$(stat +mtime $file1))) $file2-เดจเตเดเตเดเดพเตพ เดชเดดเดฏเดคเต.
เดซเตเดฏเตเดเตเดเดพเตพ 5 เดธเตเดเตเดเตปเดกเต เดชเดดเดฏเดคเดพเดฃเต เดฌเดพเตผ
# เดฎเดฑเตเดฑเต เดเดฟเดฒ เดซเดฏเดฒเตเดเดณเตเดเตเดเดพเตพ เดเตเดฑเดฟเดฏ เดเดฐเต เดกเดฟเดธเตเดเดฟเดจเตเดฑเต เดซเดฏเดฒเตเดเตพ เดฒเดฟเดธเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด
$ zmodload zsh/stat
$ stat -A max +size เดฎเดฑเตเดฑเตเดจเตเดคเตเดเตเดเดฟเดฒเตเด-เดซเดฏเตฝ
$ print -rl ./**/*(DL-$max)
# เดเดฐเต เดกเดฟเดธเตเดเดฟเดฒเต เดเดฑเตเดฑเดตเตเด เดตเดฒเดฟเดฏ 100 เดซเดฏเดฒเตเดเตพ เดฒเดฟเดธเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด
$ zmodload zsh/stat
$ ls -fld ./**/*(d`stat +device .`OL[1,100])
# เดเดชเดฏเตเดเตเดคเตเดจเดพเดฎเดตเตเด เดซเดฏเดฒเดฟเดจเตเดฑเต เดชเตเดฐเตเดเดณเตเด เดฎเดพเดคเตเดฐเด (เดเดคเต เดชเตเดฒเต
# ls -l * | awk '{print $3" " $8}')
$ zmodload zsh/stat
เดซเดฏเดฒเดฟเดจเต $; เดเตเดฏเตเดฏเตเด
> stat -sA เดเดชเดฏเตเดเตเดคเดพเดตเต +uid -- "$file" &&
> print -r -- "$user" "$file"
> เดเตเดฏเตเดคเต
# เดซเดฏเดฒเดฟเดจเตเดฑเต เดฏเดฅเดพเตผเดคเตเดฅ เดฌเตเดฑเตเดฑเตเดเดณเตเด เดซเดฏเดฒเดฟเดจเตเดฑเต เด เดจเตเดตเดฆเดฟเดเตเด เดฌเตเดฑเตเดฑเตเดเดณเตเด เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดคเตเดฏเดพเดธเด เดจเตเดเตเด
$ zmodload zsh/stat
$ เดชเตเดฐเดฟเดจเตเดฑเต $(($(stat +block -- เดซเดฏเตฝ) * 512 - $(stat +size -- file)))
# เดเดฑเตเดฑเดตเตเด เดตเดฒเดฟเดฏ เดซเดฏเตฝ เดเดฃเตเดเตเดคเตเดคเตเด
# ``D'' : เดกเตเดเตเดเต เดซเดฏเดฒเตเดเตพ เดเตพเดชเตเดชเตเดเตเดคเตเดคเดพเตป (d เดเตเดฑเดฟเดฏเดเตเดทเดฐเด เดเดชเดเดฐเดฃเดคเตเดคเดฟเดจเตเดณเตเดณเดคเดพเดฃเต)
# ``O'' : เดตเดฟเดชเดฐเตเดค เดเตเดฐเดฎเด (เด เดฑเดฟเดตเตเดดเตเดธเต เด เดฒเตเดฒเดพเดคเตเดค เดเตเดฐเดฎเดคเตเดคเดฟเดจเต เดเตเดฑเดฟเดฏเดเตเดทเดฐเด)
# ``L'' : เดซเดฏเตฝ เดฆเตเตผเดเตเดฏเดฎเดจเตเดธเดฐเดฟเดเตเดเต (เดฒเดฟเดเตเดเตเดเดณเตเดเต เดเดฃเตเดฃเดคเตเดคเดฟเดจเดพเดฃเต l)
# ``[1]'': เดเดฆเตเดฏเดคเตเดคเตเดคเต เดฎเดพเดคเตเดฐเด เดคเดฟเดฐเดฟเดเต เดจเตฝเดเตเด
$ zmodload zsh/stat
$ stat +size ./*(DOL[1])
# เดซเดฏเตฝ เดตเดฒเตเดชเตเดชเด เดฌเตเดฑเตเดฑเตเดเดณเดฟเตฝ
$ zmodload zsh/stat
$ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเต -L + เดตเดฒเดฟเดชเตเดชเด ~ / .zshrc
4707
# เดเดดเดฟเดเตเด เดชเดคเตเดคเต เดฆเดฟเดตเดธเดฎเดพเดฏเดฟ เดเดเตโเดธเดธเต เดเตเดฏเตเดฏเดพเดคเตเดค เดเดฐเต เดกเดฏเดฑเดเตโเดเดฑเดฟเดฏเดฟเดฒเต เดซเดฏเดฒเตเดเตพ เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเด
# เดเตเดเดพเดคเต เดซเดฏเดฒเตเดเดณเตเดเต เดเดเดฎเดฏเตเดเตเดเต เดซเดฏเดฒเตเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเต เด เดตเดจเต/เด เดตเดณเต เด เดฑเดฟเดฏเดฟเดเตเดเตเดเตเดฃเตเดเต เดเดฐเต เดฎเตเดฏเดฟเตฝ เด เดฏเดฏเตเดเตเดเตเด'
# เดเดฒเตเดฒเดพเดคเดพเดเตเดเตฝ.
$ zsh/stat zsh/เดซเดฏเดฒเตเดเตพ zmodload เดเตเดฏเตเดฏเตเด
$ เดเตเดชเตเดชเตเดธเตเดฑเตเดฑเต -เด เดเดซเต; f=()
$ rm -f /path/**/*(.a+10e{'stat -sA u +uidr $REPLY; f[$u]="$f[$u]$REPLY"'})
$ เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเตเดณเตเดณ (${(k)f}) {print -rn $f[$user]|mailx -s "..." $user}
# เดเตเดฐเตเดฏเดฟเดฒเต เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเดฟเดฒเตเด เดเดฐเต "ls -l" เดจเตเดเตเด
# เดจเดฟเตผเดฆเตเดฆเดฟเดทเตโเด เดชเตเดฐเดพเดฏเด
$ zmodload zsh/stat
d-เดฏเตโเดเตเดเต $ (./**/*(N/m-2))
> print -r -- $'\n'$d: && cd $d && {
> f-เดจเต (*(Nm-2om))
> เดธเตเดฅเดฟเดคเดฟ -F '%b %d %H:%M' -LsAs -- $f &&
> print -r -- $s[3] ${(l:4:)s[4]} ${(l:8:)s[5]} \
> ${(l:8:)s[6]} ${(l:8:)s[8]} $s[10] $f ${s[14]:+-> $s[14]}
> เดธเดฟเดกเดฟ ~-
>}
# เดซเดฏเตฝ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจ เดคเตเดฏเดคเดฟ เดจเตเดเตเด
$ zmodload zsh/stat
$ stat -F '%d %m %Y' +mtime ~ / .zshrc
30 06 2004
$ stat -F '%D' +mtime ~ / .zshrc
06/30/04
zsh/เดซเดฏเดฒเตเดเตพ (เดเดตเดถเตเดฏเดฎเดพเดฃเต zmodload zsh/เดซเดฏเดฒเตเดเตพ)
# เดเดฐเต เดจเดฟเดถเตเดเดฟเดค เดธเตเดเตเดฐเดฟเดเดเต เด เดเดเตเดเดฟเดฏ เดซเดฏเดฒเตเดเตพเดเตเดเดพเดฏเดฟ เดเดฐเต เดกเดฏเดฑเดเตเดเดฑเดฟ เดคเดฟเดฐเดฏเตเด, เดคเตเดเตผเดจเตเดจเต เด เดต เดชเดเตผเดคเตเดคเตเด
เดฎเดฑเตเดฑเตเดฐเต เดกเดฏเดฑเดเตโเดเดฑเดฟเดฏเดฟเดฒเตเดเตเดเต # เดซเดฏเดฒเตเดเตพ.
zsh/เดซเดฏเดฒเตเดเตพ $ zmodload เดเตเดฏเตเดฏเตเด
$ IFS=$'\0'
$ cp $(grep -lZr foobar .) เดฎเดฑเตเดฑเต เดกเดฏเดฑเดเตเดเดฑเดฟ
zsh/mapfile (เดเดตเดถเตเดฏเดฎเดพเดฃเต zmodload zsh/mapfile)
เดฐเดฃเตเดเต เดชเดพเดฑเตเดฑเตเดฃเตเดเตพเดเตเดเดพเดฏเดฟ # เดเตเดฐเดพเดชเตเดชเดฟเดเดเต
$ zmodload zsh/mapfile
$ เดชเดพเดฑเตเดฑเตเตบ1="foo"
$ เดชเดพเดฑเตเดฑเตเตบ2="เดฌเดพเตผ เดซเต"
$ print -l ./**/*(DN.e{'z=$mapfile[$REPLY] && [[ $z = *$pattern1* && \
$z = *$pattern2* ]]'})
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ zsh/pcre เดเดจเตเดจเดคเดฟเดจเตเดชเตเดชเด เดเดฐเต เดชเดฐเดฟเดนเดพเดฐเด
$ zmodload -i zsh/mapfile zsh/pcre
$ เดชเดพเดฑเตเดฑเตเตบ1="foo"
$ เดชเดพเดฑเตเดฑเตเตบ2="เดฌเดพเตผ เดซเต"
$ pcre_compile "(?s)(?=.*?$pattern1).*?$pattern2"
$ pcre_study
$ print -l ./**/*(DN.e{'pcre_match $mapfile[$REPLY]'})
``เดเตเดฑเดตเดฟเดจเต # เดคเตเดฒเตเดฏเด / etc / passwd | grep -v เดฑเตเดเตเดเต''
$ zmodload zsh/mapfile
$ IFS=$'\n\n'
$ print -rl -- ${${=mapfile[/ etc / passwd]}:#*เดฑเตเดเตเดเต*}
# เด เดฒเตเดฒเตเดเตเดเดฟเตฝ - เดเตเดธเต เดธเตเตปเดธเดฟเดฑเตเดฑเตเดตเตเดเตพเดเตเดเต
$ เดธเตเดฑเตเดฑเตเดชเตเดฑเตเดฑเต เดตเดฟเดชเตเดฒเตเดเตเดค เดเตเดฒเตเดฌเต
$ print -rl -- ${${=mapfile[/ etc / passwd]}:#*(#i)เดฑเตเดเตเดเต*}
# เดเดฐเต XML-เดซเดฏเดฒเดฟเตฝ `` เดชเตเดฒเตเดณเตเดณ เดเดพเดฐเตเดฏเดเตเดเตพ เด เดเดเตเดเดฟเดฏเดฟเดเตเดเตเดฃเตเดเตเดเตเดเดฟเตฝ '' เดเดชเตเดชเด `` '', เดจเดฎเตเดชเตผ
# เด เดถเตเดจเตเดฏเดฎเดพเดฏ เดเดพเดเตเดเตพ ('/>' เดเดจเตเดจเดคเดฟเตฝ เด เดตเดธเดพเดจเดฟเดเตเดเตเดจเตเดจเดต) เด เดคเดฟเดจเดพเตฝ เดคเดจเตเดจเต เดจเตเดฐเดฟเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ
# เดเตผเดกเตผ, เดฎเตเดฎเตเดชเดคเตเดคเต เดเดพเดเตเดเตพ `` เดเดฏเดฟ เดฎเดพเดฑเตเด 1 '' เดเดชเตเดชเด
# `` 2 ''
$ zmodload zsh/mapfile
$ cnt=0
$ apfile[data.xml.new]=${(S)เดฎเดพเดชเตเดชเต เดซเดฏเตฝ[data.xml]//\
> (#im) *<\/TAGA>/ $((++cnt))<\/TAGA>}
# เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพเดเตเดเต Maildir/new เดเดจเตเดจเดคเดฟเตฝ ``filename="gone.src'' เด เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเดฒเตเดฒเดพ เดซเดฏเดฒเตเดเดณเตเด เดจเตเดเตเดเดเดเตเดฏเตเดฏเตเดจเตเดจเต
$ zmodload zsh/{files,mapfile}
$ rm -f /u1/??/*/Maildir/new/100*(.e{'[[ $mapfile[$REPLY] == \
*เดซเดฏเดฒเดฟเดจเตเดฑเต เดชเตเดฐเต=\"gone.scr\"* ]]'})
# เดเดฐเต เดชเตเดธเตเดฑเตเดฑเตโเดธเตโเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดซเดฏเดฒเดฟเตฝ เดจเดฟเดจเตเดจเต เดถเตเตผเดทเดเด เดเดเตเดคเตเดคเต เด เดฎเตเดฒเตเดฏเด เดเดคเดฟเดฒเตเดเตเดเต เดเตเตผเดเตเดเตเด
# เดซเดฏเตฝ เดจเดพเดฎเดคเตเดคเดฟเดจเตเดฑเต เด เดตเดธเดพเดจเด
$ เดเดเตเดเตเดฒเตเดกเต -U zmv
$ zmodload zsh/mapfile
$ zmv '(*).ps' '$1-${${${mapfile[$f]##*%%เดถเตเตผเดทเดเด: }%% *}//[^a-zA-Z0-9_]/}. ps'
zsh/mathfunc (เดเดตเดถเตเดฏเดฎเดพเดฃเต zmodload zsh/mathfunc)
$ zmodload zsh/mathfunc
$ เดเดเตเดเต $(( sin(1/4.0)**2 + cos(1/4.0)**2 - 1 ))
-1.1102230246251565e-16
$ เดเดเตเดเต $(( เดชเต = 4.0 * เด เดเตป(1.0) ))
3.1415926535897931
$ เดเดเตเดเต $(( f = sin(0.3) ))
0.29552020666133955
$ เดชเตเดฐเดฟเดจเตเดฑเต $((1e12 * rand48()))
847909677310.23413
$ เดชเตเดฐเดฟเดจเตเดฑเต $((rand48(เดตเดฟเดคเตเดคเต)))
0.01043488334700271
zsh/termcap (เดเดตเดถเตเดฏเดฎเดพเดฃเต zmodload zsh/termcap)
$ zmodload -ab zsh/termcap echotc
$ GREEN=`echotc AF 2`
$ YELLOW=`echotc AF 3`
$ RED=`echotc AF 1`
$ BRIGHTRED=`echotc md ; echotc AF 1`
$ เดชเตเดฐเดฟเดจเตเดฑเต -l ${GREEN}เดชเดเตเด ${YELLOW}เดฎเดเตเด ${RED}เดเตเดตเดชเตเดชเต ${BRIGHTRED}เดคเตเดณเดฟเดเตเดเดฎเตเดณเตเดณเดคเต
zsh/zpty (เดเดตเดถเตเดฏเดฎเดพเดฃเต zmodload zsh/zpty)
$ zmodload zsh/zpty
$ zpty PW เดชเดพเดธเตเดตเตเดกเต $1
$ zpty PW เดชเดพเดธเตเดตเตเดกเต $1
# ``-r'': เดเดฎเดพเตปเดกเต เดจเดพเดฎเดคเตเดคเดฟเดจเตเดฑเต เดเดเตเดเตเดชเตเดเตเดเต เดตเดพเดฏเดฟเดเตเดเตเด.
# ``z'' : เดชเดฐเดพเดฎเตเดฑเตเดฑเตผ
$ zpty -r PW z '*เดชเดพเดธเตโเดตเตเดกเต:'
# to เดเดฎเดพเตปเดกเต เด เดฏเดฏเตเดเตเดเตเด, เดจเตฝเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดธเตเดเตเดฐเดฟเดเดเตเดเตพเดเตเดเต เดเตปเดชเตเดเตเดเดพเดฏเดฟ เดชเตเดฐเต เดจเตฝเดเตเด
$ zpty -w PW $2
$ zpty -r PW z '*เดชเดพเดธเตโเดตเตเดกเต:'
$ zpty -w PW $2
# เดเดฎเดพเตปเดกเตเดเตพ เดเดฒเตเดฒเดพเดคเดพเดเตเดเดพเตป -d เดเดชเตเดทเตป เดเดณเตเดณ เดฐเดฃเตเดเดพเดฎเดคเตเดคเต เดซเตเด เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต
# เดฎเตเดฎเตเดชเต เดเดฐเดเดญเดฟเดเตเดเดคเต, เด เดตเดฐเตเดเต เดชเตเดฐเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดจเตฝเดเดฟ. เดชเตเดฐเตเดเดณเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ
# เดจเตฝเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต, เดเดฒเตเดฒเดพ เดเดฎเดพเตปเดกเตเดเดณเตเด เดเดฒเตเดฒเดพเดคเดพเดเตเดเดฟ. เดเดฐเต เดเดฎเดพเตปเดกเต เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเดจเตเดจเดคเต HUP-เดจเต เดเดพเดฐเดฃเดฎเดพเดเตเดจเตเดจเต
# เดธเดฟเดเตเดจเตฝ เด เดจเตเดฌเดจเตเดง เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเดฟเดฒเตเดเตเดเต เด เดฏเดฏเตเดเตเดเดฃเด.
$ zpty -d PW
zsh/net/socket (เดเดตเดถเตเดฏเดฎเดพเดฃเต zmodload zsh/net/เดธเตเดเตเดเดฑเตเดฑเต)
# ``-l'': เดซเดฏเดฒเดฟเดจเตเดฑเต เดชเตเดฐเดฟเตฝ เดเตเตพเดเตเดเตเดจเตเดจ เดเดฐเต เดธเตเดเตเดเดฑเตเดฑเต เดคเตเดฑเดเตเดเตเด
# ``-d'': เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเต เดเดพเตผเดเตเดฑเตเดฑเต เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฑเดพเดฏเดฟ เดเดเตเดเตเดเตเด
# เดเดฃเดเตเดทเตป
# ``3'' : เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตผ. ``เดเดธเดกเต-เดทเตเดฒเตเดฒเดฟเดฒเตเดเตเดเตเดณเตเดณ เดเดฐเต เดเดชเดฏเตเดเตเดคเต เดเตเดกเต'' เดเดพเดฃเตเด
# (3.7.2: เดซเดฏเตฝ เดตเดฟเดตเดฐเดฃเดเตเดเตพ)
$ zmodload zsh/net/socket
$ zsocket -l -d 3
# ``-a'': เดธเตเดเตเดเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดเดฐเต เดเตปเดเดฎเดฟเดเดเต เดเดฃเดเตเดทเตป เดธเตเดตเตเดเดฐเดฟเดเตเดเตเด
$ zsocket -a -d 4 3
$ zsocket -a -d 5 3 # เดเดฐเต เดเดฃเดเตเดทเตป เดธเตเดตเตเดเดฐเดฟเดเตเดเตเด
$ echo foobar >&4
$ echo barfoo >&5
$ 4>&- 5>&- 3>&
zsh/zftp (เดเดตเดถเตเดฏเดฎเดพเดฃเต zmodload zsh/zftp)
$ เดเดเตเดเตเดฒเตเดกเต -U zfinit
$ zfinit
$ zfparams www.example.invalid myuserid mypassword
$ zfopen
$ zfcd เดจเตเดฑเตเดเตเดเตเดเตพ
$ zfls -l zshtips.html
$ zfput zshtips.html
$ zfls -l zshtips.html
# เดชเดฟเดถเดเต เดชเดฐเดฟเดถเตเดงเดจ เดเดชเดฏเตเดเดฟเดเตเดเต FTP เดเดชเดฏเตเดเดฟเดเตเดเต เดซเดฏเดฒเตเดเตพ เดธเตเดตเดฏเดฎเตเดต เดเตเดฎเดพเดฑเตเด
$ เดเดเตเดเตเดฒเตเดกเต -U zfinit ; zfinit
$ zftp open host.name.invalid user passwd || เดชเตเดฑเดคเตเดคเต
$ zftp / remote/file > /local/file เดจเตเดเตเด; r=$?
$ zftp เด เดเดฏเตเดเตเดเตเด && เดชเตเดฑเดคเตเดคเตเดเดเดเตเดเตเด r
เดเดเตเดเดฏเดฟเตฝ # เดเดเดชเตเดฐเดธเต เดเตเดฏเตเดคเต ftp เดเตเดฏเตเดฏเตเด
$ เดเดเตเดเตเดฒเตเดกเต -U zfinit ; zfinit
$ zftp host.name.invalid เดเดชเดฏเตเดเตเดคเต เดชเดพเดธเตโเดตเตเดกเต เดคเตเดฑเดเตเดเตเด
$ zftp $ เดซเดฏเตฝ เดจเตเดเตเด | bzip2 > ${file}.bz2
$ zftp เด เดเดฏเตเดเตเดเตเด
# เดเดตเตผเดคเตเดคเดจเด ``เดจเตเดเตเด''
$ เดเดเตเดเตเดฒเตเดกเต -U zfinit ; zfinit
$ zfanon cr.yp.to
$ zfcd เดกเตเดฎเตเดฃเตเดเตเดณเตเดเตพ
`zfls`-เดฒเต เดซเดฏเดฒเดฟเดจเต $; เดเตเดฏเตเดฏเตเด
> zfget $file
$ เดเตเดฏเตเดคเต
$ zfclose
# เดเดฒเตเดฒเดพ เดธเดพเดงเดพเดฐเดฃ เดซเดฏเดฒเตเดเดณเตเด $HOME/foobar-เตฝ (เดเดตเตผเดคเตเดคเดจเดชเดฐเด) เด เดชเตโเดฒเตเดกเต เดเตเดฏเตเดฏเตเด
# ftp.foobar.invalid/path/to/upload-เดฒเตเดเตเดเต เดฐเดฃเตเดเต เดฎเดฃเดฟเดเตเดเตเตผ
$ เดเดเตเดเตเดฒเตเดกเต -U zfinit ; zfinit
$ zfopen ftp.foobar.invalid/path/to/upload
$ cd $HOME/foobar
$ zfput -r **/*(.mh-2)
$ zfclose
เดเดฐเต ftp-เดฏเดฟเดฒเต เดซเดฏเดฒเตเดเดณเตเดเต # เดจเตเดฃเตเด เดฒเดฟเดธเตเดฑเตเดฑเต
$ เดเดเตเดเตเดฒเตเดกเต -U zfinit ; zfinit
$ zfopen เดเดฟเดฒ-เดนเตเดธเตเดฑเตเดฑเต
$ zfcd /some/remote/Dir
$ cd /some/local/Dir
# list.txt เดตเดฟเดฆเตเดฐ เดนเตเดธเตเดฑเตเดฑเดฟเดฒเดพเดฃเต เดธเตเดฅเดฟเดคเดฟ เดเตเดฏเตเดฏเตเดจเตเดจเดคเตเดเตเดเดฟเตฝ, เดเดคเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเตเดฑเตเด
# zfget ${(f)"$(zftp /path/to/remote/list.txt)"}
$ zfget ${(f)"$(cat list.txt)"}
$ zfclose
zsh/zselect (เดเดตเดถเตเดฏเดฎเดพเดฃเต zmodload zsh/zselect)
# เดเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต
,----
| $ sg=$(stty -g)
| $ stty -icanon เดฎเดฟเดจเดฟเดฑเตเดฑเต 0 เดธเดฎเดฏเด 50
| $ เดตเดพเดฏเดฟเดเตเดเตเด yesno
| $ stty "$sg"
| $ เดเตเดธเต "$yesno" เดเดจเตเดจเดคเดฟเตฝ
| > เด เดคเต) เดเดฎเดพเตปเดกเต1;;
| > *) เดเดฎเดพเตปเดกเต2;;
| > esac
`----
$ zmodload zsh/zselect
$ เดเดเตเดเดฟเตฝ zselect -t 500 -r 0 && เดตเดพเดฏเดฟเดเตเดเตเด yesno && [เด เดคเต = "$yesno" ]; เดชเดฟเดจเตเดจเต
> เดเดฎเดพเตปเดกเต1
> เดตเตเดฑเต
> เดเดฎเดพเตปเดกเต1
> fi
เดเดชเตเดทเดจเตเดเตพ
เดจเดพเดตเดฟเดเตเดทเตป เดเดชเตเดทเดจเตเดเตพ
เดเดเตเดเต_เดธเดฟเดกเดฟ (เด เดคเต เดเดฐเต เดเดฎเดพเตปเดกเต เดเดฏเดฟ เดจเตฝเดเดฟ เดเดฐเต เดกเดฏเดฑเดเตเดเดฑเดฟเดฏเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเดพเตป เดเดฐเดพเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเด). เดเดเตเดเต_เดชเตเดทเตเดกเต
(เดชเตเดทเต/เดชเตเดชเตเดชเต เดฒเดฟเดธเตเดฑเตเดฑเดฟเดฒเตเดเตเดเต เดกเดฟเดฑเตเดเดณเต เดธเตเดตเดฏเดฎเตเดต เดเตเดเตเดเดฟเดเตเดเตเตผเดเตเดเตเด) pushd_ignore_dups (เดเดชเตเดชเด เดคเดจเดฟเดชเตเดชเดเตผเดชเตเดชเดพเดเตเดเดฐเตเดคเต
เด เดต).
เดชเดฒเดตเด
no_hup (ZSH-เตฝ เดจเดฟเดจเตเดจเต เดชเตเดฑเดคเตเดคเตเดเดเดเตเดเตเดฎเตเดชเตเตพ เดชเดถเตเดเดพเดคเตเดคเดฒ เดเตเดฒเดฟเดเดณเดฟเดฒเตเดเตเดเต HUP เดธเดฟเดเตเดจเตฝ เด เดฏเดฏเตโเดเตเดเดฐเตเดคเต). print_exit_value (เดเดพเดฃเดฟเดเตเดเตเด
เดชเตเดเตเดฏเดฎเดฒเตเดฒเดพเดคเตเดค เดเดเตโเดธเดฟเดฑเตเดฑเต เดเตเดกเดฟเดจเตเดชเตเดชเด เดเดฐเต เดเดฎเดพเตปเดกเต เดคเดฟเดฐเดฟเดเต เดตเดฐเตเดฎเตเดชเตเตพ เดเดเตโเดธเดฟเดฑเตเดฑเต เดเตเดกเตเดณเตเดณ เดเดฐเต เดธเดจเตเดฆเตเดถเด)
เดเดฐเดฟเดคเตเดฐเด เดเดชเตเดทเดจเตเดเตพ
hisst_verify (เดเดฐเดฟเดคเตเดฐ เดตเดฟเดชเตเดฒเตเดเดฐเดฃเดคเตเดคเดฟเดจเต เดถเตเดทเด เดเดฎเดพเตปเดกเต เดฒเตเตป เดเดกเดฟเดฑเตเดฑเต เดเตเดฏเตเดฏเดพเตป เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเต เด เดจเตเดตเดฆเดฟเดเตเดเตเด (เดเดฆเดพ !ls)
เดเดเดจเดเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดชเดเดฐเด) เดเดฒเตเดฒเดพ เดธเตเดทเดจเตเดเตพเดเตเดเตเด เดเดฐเต เดเดฐเดฟเดคเตเดฐ เดซเดฏเตฝ เดเดชเดฏเตเดเดฟเดเตเดเตเด: เดธเตเดฅเดพเดชเดฟเดเตเดเตเด
SHARE_HISTORY
เดธเตเดตเดเดพเดฐเตเดฏเดค / เดธเตเดฐเดเตเดท
no_clobber (เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดธเตเดฑเตเดฑเต -เดธเดฟ; เดคเดเดฏเตเด > เดคเดจเตเดจเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดซเดฏเตฝ เดตเตเดเตเดเดฟเดเตเดเตเดฐเตเดเตเดเตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดคเดฟเดฐเดฟเดเตเดเตเดตเดฟเดเตฝ
เดเดคเดฟเดจเดเด เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดเต)
เดธเตเดชเตเดฒเตเดฒเดฟเดเดเต เดคเดฟเดฐเตเดคเตเดคเตฝ
เดถเดฐเดฟเดฏเดพเดฃเต (เดเดฎเดพเตปเดกเตเดเดณเตเดเต เด เดเตเดทเดฐเดตเดฟเดจเตเดฏเดพเดธเด เดฏเดพเดจเตเดคเตเดฐเดฟเดเดฎเดพเดฏเดฟ เดถเดฐเดฟเดฏเดพเดเตเดเตเด). เดถเดฐเดฟ_เดเดฒเตเดฒเดพเด (เดเดเตเดเตเดพเดฎเดพเดฑเตเดฑเดฟเดฏเตเดเตเดเดพเดฏเดฟ
เดเดฎเดพเตปเดกเต เดฒเตเดจเดฟเดฒเต เดเดฐเต เดตเดพเดเตเดเดฟเดจเตเดฑเตเดฏเตเด เด เดเตเดทเดฐเดตเดฟเดจเตเดฏเดพเดธเด เดถเดฐเดฟเดฏเดพเดเตเดเตเด) dvorak (dvorak เดฒเตเดเดเตเดเต)
UNSORTED/MISC
เดฎเตเดฏเดฟเตฝเดชเดพเดคเตเดคเต: เดฒเดณเดฟเดคเดฎเดพเดฏ เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดฎเตเดฏเดฟเตฝเดชเดพเดคเตเดคเต:
mailpath=($HOME/Mail/mbox'?mbox-เตฝ เดชเตเดคเดฟเดฏ เดฎเตเดฏเดฟเตฝ'
$HOME/Mail/tux.u-strasbg'?tux-เตฝ เดชเตเดคเดฟเดฏ เดฎเตเดฏเดฟเตฝ'
$เดนเตเด/เดฎเตเดฏเดฟเตฝ/เดฒเดฟเดฒเต'?เดชเตเดคเดฟเดฏ เดฎเตเดฏเดฟเตฝ เดเตป เดฒเดฟเดฒเต'
$HOME/Mail/ldap-fr'?ldap-fr'เดฒเต เดชเตเดคเดฟเดฏ เดฎเตเดฏเดฟเตฝ)
เดฎเตเดฏเดฟเตฝเดชเดพเดคเตเดคเต: เดกเตเดจเดพเดฎเดฟเดเต เดฎเตเดฏเดฟเตฝเดชเดพเดคเตเดคเต:
เดเตเดชเตเดชเตเดธเตเดฑเตเดฑเต -เดเดฐเต เดฎเตเดฏเดฟเตฝเดชเดพเดคเตเดคเต
เดเดพเตป เดเดณเตเดณเดคเดฟเดจเต ~/เดฎเตเดฏเดฟเตฝ/เดฒเดฟเดธเตเดฑเตเดฑเตเดเตพ/*(.); เดเตเดฏเตเดฏเตเด
เดฎเตเดฏเดฟเตฝเดชเดพเดคเตเดคเต[$#mailpath+1]="${i}? เดจเดฟเดเตเดเตพเดเตเดเต ${i:t}-เตฝ เดชเตเดคเดฟเดฏ เดฎเตเดฏเดฟเดฒเตเดฃเตเดเต."
เดเตเดฏเตเดคเต
เดชเตเดฐเดคเตเดฏเตเด เดเดฎเดพเตปเดกเตเดเดณเดฟเตฝ เดเตเดฒเตเดฌเดฟเดเดเต เดเดดเดฟเดตเดพเดเตเดเตเด:
เดเดเตโเดธเตโเดชเตเดฐเตผ เดเดจเตเดจ เด เดชเดฐเดจเดพเดฎเดคเตเดคเดฟเตฝ เดเตเดฎเดฟเดจเต, เดฎเดพเดเตเดฐเดฟเดฌเต เดเดเดเตเดชเตเดชเดฟ เดเดเดกเดฟเตผ เดเดเดกเดฟเดเตฝ เดเดฃเตเดเตเดคเตเดคเตเด;
เด เดชเดฐเดจเดพเดฎเด $com="noglob $com"
เดจเดฟเดเตเดเดณเตเดเต bashprompt zsh-เดฒเตเดเตเดเต เดฎเตเดเตเดฐเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต zsh-เตฝ เดธเตเดฅเดฟเดคเดฟ เดเตเดฏเตเดฏเตเดจเตเดจ bash2zshprompt เดเดจเตเดจ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเตเด.
เดเดฑเดตเดฟเด เดตเดฟเดคเดฐเดฃเด เดเตเดดเดฟเดฒเดพเดฃเต เดชเดฒเดตเด.
(t)csh-เตฝ เดจเดฟเดจเตเดจเต zsh-เดฒเตเดเตเดเตเดณเตเดณ เดฎเตเดเตเดฐเตเดทเดจเดพเดฏเดฟ csh เด เดชเดฐเดจเดพเดฎเดเตเดเดณเต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด เดเตเดฏเตเดฏเตเดจเตเดจ c2z เดเตเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเด.
เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟเดฏเตเด เดทเตเตฝ เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเดณเตเด zsh เดฒเตเดเตเดเต. csh เดฑเตบ เดเตเดฏเตเดคเตเด csh เดฑเดฟเดชเตเดชเตเตผเดเตเดเต เดเดชเดฏเตเดเดฟเดเตเดเตเด เดเดคเต เดเตเดฏเตเดฏเตเดจเตเดจเต
เด เดชเดฐเดจเดพเดฎเดเตเดเดณเดฟเดฒเตเด เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเดณเดฟเดฒเตเด. เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดชเดฟเดจเตเดจเตเดเต เดเดตเดฏเต zsh เดธเตเดฑเตเดฑเดพเตผเดเตเดเดชเตเดชเต เดซเดฏเดฒเตเดเดณเดพเดเตเดเดฟ เดฎเดพเดฑเตเดฑเตเดจเตเดจเต. เด เดคเดฟเตฝ เดเดฟเดฒเดคเต เดเดฃเตเดเต
เด เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดจเตเดฑเต เดฎเตเดเดณเดฟเตฝ เดฐเตเดเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดชเตเดฐเดถเตเดจเดเตเดเดณเตเด เดเดชเดฏเตเด เดตเดฟเดตเดฐเดเตเดเดณเตเด.
เดเดฐเต เดถเตเตผเดทเดเดตเตเด เดนเดพเตผเดกเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเตเด เดธเดเตเดเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดเดคเดพ XTerm เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเตเดจเต เดธเตเดเตเดฐเตเตป เดฒเตเดเตเดเต zsh เดเดชเตเดชเด
เดฏเดฅเดพเดเตเดฐเดฎเด เดจเดฟเดฒเดตเดฟเดฒเต เดกเดฏเดฑเดเตเดเดฑเดฟ, เดชเตเดฐเตเดเดชเตเดฑเตเดฑเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเดฎเตเดชเตเตพ, เดเดฎเดพเตปเดกเต เดจเดพเดฎเดคเตเดคเดฟเดฒเตเดเตเดเต
เดเดฐเต เดเดฎเดพเตปเดกเต เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ, เดฏเดฅเดพเดเตเดฐเดฎเด เดฌเดพเดเตเดเดฟเดฏเตเดณเตเดณ เดเดฎเดพเตปเดกเต เดฒเตเดจเตเดเตพ:
เดซเดเดเตโเดทเตป เดถเตเตผเดทเดเด {
เดเดเตเดเดฟเตฝ [[ $TERM == "เดธเตเดเตเดฐเตเตป" ]]; เดชเดฟเดจเตเดจเต
# เดเตเดจเต เดธเตโเดเตเดฐเตเดจเดฟเดจเดพเดฏเดฟ เดเดต เดฐเดฃเตเดเตเด เดเดชเดฏเตเดเดฟเดเตเดเตเด:
เดชเตเดฐเดฟเดจเตเดฑเต -nR $' 33k'$1$' 33'\
เดชเตเดฐเดฟเดจเตเดฑเต -nR $' 33]0;'$2$''
elif [[ $TERM == "xterm" || $TERM == "rxvt" ]]; เดชเดฟเดจเตเดจเต
# XTerms-เดจเต เดชเดเดฐเด เดเดคเต เดเดชเดฏเตเดเดฟเดเตเดเตเด:
เดชเตเดฐเดฟเดจเตเดฑเต -nR $' 33]0;'$*$''
fi
}
เดซเดเดเตโเดทเตป precmd {title zsh "$PWD"}
เดซเดเดเตเดทเตป preexec {
เด เดจเตเดเดฐเดฟเดเตเดเตเด -L zsh
เดชเตเดฐเดพเดฆเตเดถเดฟเด - เดเดฐเต cmd; cmd=(${(z)1})
เดคเดฒเดเตเดเตเดเตเดเต $cmd[1]:t "$cmd[2,-1]"
}
เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดตเดฐเดฟ เดจเดฟเดเตเดเดณเดฟเดฒเตเดเตเดเต เดเดเตเด ~/.screenrc เด เดซเดพเตปเดธเดฟ เดนเดพเตผเดกเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เดเดพเดฃเดพเตป:
เด เดเดฟเดเตเดเตเดฑเดฟเดชเตเดชเต เดเดชเตเดชเตเดดเตเด "%3n %t%? (%u)%?%?: %h%?"
เด เดธเตเตป เดเตเดฏเตโเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดชเตเดฐเดคเตเดฏเตเด เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเตพ:
$LINEเดเดฒเตเดฒ $Random $SECONDS $COLUMNS $HISTCHARS $UID
$EUID $GID $EGID $USERNAME $เดซเดฟเดเตเดจเตเตผ $mailpath $cdpath
เดฒเดฟเดเตเดเตเดเตพ
เดชเตเดฐเดพเดฅเดฎเดฟเด เดธเตเดฑเตเดฑเต
http://www.zsh.org/
เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดชเตเดเต
http://sourceforge.net/projects/zsh/
sunsite.dk-เดฒเต Z เดทเตเตฝ เดชเตเดเต
http://zsh.sunsite.dk/
เดฌเดพเดทเต เดฎเตเดคเตฝ Z เดทเตเตฝ เดตเดฐเต: เดเดฎเดพเตปเดกเต เดฒเตเตป เดเตเดดเดเดเตเดเตเดจเตเดจเต - เดชเตเดธเตเดคเดเด
http://www.bash2zsh.com/
"Zsh - เดกเต เดฎเดพเดเดฟเดทเต เดทเตเตฝ" (Zsh-เดจเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดเตผเดฎเตเดฎเตป เดชเตเดธเตเดคเดเด) เดธเตเดตเตเตป เดเดเตเดเดธเตเด เดเตเดฒเดฟเดฏเดธเต เดชเตเดฒเตเตปเดธเตเด เดเดดเตเดคเดฟเดฏเดคเต
http://zshbuch.org/
เดฎเตเดฏเดฟเดฒเดฟเดเดเต เดฒเดฟเดธเตเดฑเตเดฑเต เดเตผเดเตเดเตเดตเต
http://www.zsh.org/mla/
ZSH-เดชเดคเดฟเดตเต เดเตเดฆเตเดฏเดเตเดเตพ
http://zsh.dotsrc.org/FAQ/
เดเดชเดฏเตเดเตเดคเต เดเตเดกเต
http://zsh.sunsite.dk/Guide/
ZSH-เดตเดฟเดเตเดเดฟ
http://zshwiki.org/home/
BYU-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดเดฐเต เดเตเดฑเดฟเดฏ เดเดฎเตเดเด
http://docs.cs.byu.edu/linux/advanced/zsh.html
เดฎเตเดธเต-เดชเดฟเดจเตเดคเตเดฃ ;)
http://stchaz.free.fr/mouse.zsh
เดเตผเดเตเดเตปเดธเต เด เดชเตเดชเต: Z เดทเตเตฝ เด เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต
http://www-128.ibm.com/developerworks/linux/library/l-z.html?dwzone=linux
ZSH-Liebhaberseite (เดเตผเดฎเตเดฎเตป)
http://michael-prokop.at/computer/tools_zsh_liebhaber.html
ZSH-Seite von Michael Prokop (เดเตผเดฎเตเดฎเตป)
http://michael-prokop.at/computer/tools_zsh.html
ZSH เดชเตเดฐเตเดเดชเตเดฑเตเดฑเต เดเดฎเตเดเด
http://aperiodic.net/phil/prompt/
เดเดฆเดพเดฎเดฟเดจเตเดฑเต ZSH เดชเตเดเต
http://www.adamspiers.org/computing/zsh/
Zzappers เดฎเดฟเดเดเตเด ZSH เดจเตเดฑเตเดเตเดเตเดเตพ
http://www.rayninfo.co.uk/tips/zshtips.html
เดเตเดฐเดฟเดธเตเดฑเตเดฑเตเดฏเตป เดทเตเดจเตเดกเดฑเตเดเต Zsh เดตเตเดฌเตโเดชเตเดเต
http://www.strcat.de/zsh/
zsh-lovers เดตเตเดฌเตโเดชเตเดเต
http://grml.org/zsh/
IRC เดเดพเดจเตฝ
#zsh at irc.freenode.org
Z เดทเตเตฝ เดฑเดซเดฑเตปเดธเต เดเดพเตผเดกเต (zsh-lovers debian-เดชเดพเดเตเดเตเดเดฟเตฝ เดเตพเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดเตเดเตเดฃเตเดเต)
http://www.bash2zsh.com/zsh_refcard/refcard.pdf
AUTHORS
เด เดฎเดพเตปเดชเตเดเต เดเดดเตเดคเดฟเดฏเดคเต เดฎเตเดเตเดเตฝ เดชเตเดฐเตเดเตเดชเตเดชเต, เดเตเดฐเดฟเดธเตเดคเตเดฏเตป เดเดฃเต strcat เดทเตเดจเตเดกเดฑเตเด เดฎเดคเตเดคเดฟเดฏเดพเดธเตเด
เดเตเดชเตเดชเตผเดฎเดพเตป. เดเดจเตเดจเดพเตฝ เดชเดฒ เดเดถเดฏเดเตเดเดณเตเด zsh-geeks-เตฝ เดจเดฟเดจเตเดจเต เดเดเตเดคเตเดคเดฟเดเตเดเตเดฃเตเดเต เดเดฆเดพ. zsh-mailinglist-เตฝ เดจเดฟเดจเตเดจเต
(zsh-เดเดชเดฏเตเดเตเดคเดพเดเตเดเตพ, zsh-เดตเตผเดเตเดเตผเดฎเดพเตผ), เดเตเดเดฟเตพ, เดจเตเดฏเตเดธเต เดเตเดฐเตเดชเตเดชเตเดเตพ, zsh-เดตเดฟเดเตเดเดฟ. เดจเดฟเดเตเดเดณเตเดเต เดคเดฃเตเดชเตเดชเดฟเดจเตเด เดจเดจเตเดฆเดฟ
เด เดตเดฟเดถเตเดตเดธเดจเตเดฏเดฎเดพเดฏ เดจเตเดฑเตเดเตเดเตเดเตพ. เดจเดฟเดเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดเตเดเตพ เดเดฐเตเดชเดพเดเต เดชเด เดฟเดเตเดเต!
เด เดเตเดทเดฐเดฎเดพเดฒเดพเดเตเดฐเดฎเดคเตเดคเดฟเตฝ:
เดเตปเดกเตเดฐเต 'เดธเตเดซเตเดฐเดพเด' เดฎเตเดฏเดฟเตป - http://www.fysh.org/~zefram/
เดฌเดพเตผเดเตเดเตบ เด. เดทเตเดซเตผ - http://www.well.com/user/barts/
เดฎเดคเตเดคเดฟเดฏเดพเดธเต เดเตเดชเตเดชเตผเดฎเดพเตป - http://www.infodrom.north.de/~matthi/
เดเดฒเดฟเดตเตผ เดเดฟเดกเดฟเตฝ - http://people.freenet.de/opk/
เดชเตเตพ เดซเดพเตพเดธเตเดฑเตเดฑเดพเดกเต - http://www.falstad.com/
เดชเตเดฑเตเดฑเตผ เดธเตเดฑเตเดฑเตเดซเตปเดธเตบ - http://homepage.ntlworld.com/p.w.stephenson/
เดฑเดฟเดเตเดเดพเตผเดกเต เดเตเตพเดฎเดพเตป
เดธเตเดฑเตเดฑเตเดซเดพเตป เดเดพเดธเตเดฒเดธเต - http://stephane.chazelas.free.fr/
เดธเตเดตเตเตป เดเดเตเดธเต - http://www.guckes.net/
เดธเตเดตเตเตป เดตเดฟเดทเตเดจเตเดตเตเดธเตเดเดฟ - http://w9y.de/zsh/zshrc
onworks.net เดธเตเดตเดจเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดเตบเดฒเตเดจเดฟเตฝ zsh-lovers เดเดชเดฏเตเดเดฟเดเตเดเตเด