เด‡เด‚เด—เตเดฒเต€เดทเตเดซเตเดฐเดžเตเดšเตเดธเตเดชเดพเดจเดฟเดทเต

OnWorks เดซเต†เดตเดฟเด•เตเด•เต‹เตบ

zsh-lovers - เด•เตเดฒเต—เดกเดฟเตฝ เด“เตบเดฒเตˆเดจเดฟเตฝ

เด‰เดฌเตเดฃเตเดŸเต เด“เตบเดฒเตˆเตป, เดซเต†เดกเต‹เดฑ เด“เตบเดฒเตˆเตป, เดตเดฟเตปเดกเต‹เดธเต เด“เตบเดฒเตˆเตป เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ MAC OS เด“เตบเดฒเตˆเตป เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต‚เดŸเต† OnWorks เดธเต—เดœเดจเตเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดฆเดพเดคเดพเดตเดฟเตฝ zsh-lovers เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•

Ubuntu Online, Fedora Online, Windows online emulator เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ MAC OS เด“เตบเดฒเตˆเตป เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เดŽเดจเตเดจเดฟเด™เตเด™เดจเต†เดฏเตเดณเตเดณ เดžเด™เตเด™เดณเตเดŸเต† เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดธเต—เดœเดจเตเดฏ เด“เตบเดฒเตˆเตป เดตเตผเด•เตเด•เตโ€Œเดธเตเดฑเตเดฑเต‡เดทเดจเตเด•เดณเดฟเดฒเตŠเดจเตเดจเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต OnWorks เดธเต—เดœเดจเตเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดฆเดพเดคเดพเดตเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเดตเตเดจเตเดจ zsh-lovers เดŽเดจเตเดจ เด•เดฎเดพเตปเดกเดพเดฃเดฟเดคเต.

เด‰เดฌเตเดฃเตเดŸเตเดตเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• เดซเต†เดกเต‹เดฑเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• เดตเดฟเตปเดกเต‹เดธเต เดธเดฟเดฎเตเดฎเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• MACOS เดธเดฟเดฎเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•

เดชเดŸเตเดŸเดฟเด•:

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 เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•


เดธเต—เดœเดจเตเดฏ เดธเต†เตผเดตเดฑเตเด•เดณเตเด‚ เดตเตผเด•เตเด•เตเดธเตเดฑเตเดฑเต‡เดทเดจเตเด•เดณเตเด‚

Windows & Linux เด†เดชเตเดชเตเด•เตพ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•

เดฒเดฟเดจเด•เตเดธเต เด•เดฎเดพเตปเดกเตเด•เตพ

Ad