*? [] *
a?e ~ ace age ale ape are ate awe axe aye[aeiouy]h ~ ah eh oh uh*system ~ ecosystem subsystem system [[:upper:]]????*[^a-i][[=o=]]m
Absalom Absal - o m
Christendom Christend o m
Chrysostom Chrysos t o m
classroom classr o o m
Folsom Folso - - m
Panmunjom Padnmun j o m
Ångström Ångst r ö m
.*. [] * + ? {,} (|) ^ $
hoo?l.rs ~ preschoolers scholars scholarship^[aeiouy]{3,}$ ~ aye eye yea you.*system ~ ecosystem subsystem system.+system ~ ecosystem subsystem^(eco|bio).*ing ~ biopsying economizing*()layout_[0-9]*.pdf
layout_3.pdflayout_31.pdflayout_32-test.pdflayout_33.pdflayout_3.pdflayout_31.pdflayout_32-test.pdflayout_33.pdflayout_33-final.pdflayout_33-final-final.pdflayout_33-last.pdf?() *() +() @() !()
shopt -s extglob
w=[aeiouy] p?($w) p@($w) p*($w) p+($w) p!($w)
p p p
pH
pa pa pa pa
pace
pay pay
payee payee
pea pea
pee pee
pi pi pi pi
pie pie
poi poi
...
pyxes
layout_[0-9]*.pdflayout_+([0-9]).pdflayout_+([0-9])?(-final).pdflayout_+([0-9])*(-final).pdflayout_+([0-9])@(*(-final)|?(-last)).pdflayout_+([0-9])*(-final|-last).pdf*.*| Shell Patterns | Regular Expressions |
|---|---|
| ? | . |
| [ ] | [ ] |
| * | .* |
| *( ) | * |
| ?( ) | ? |
| +( ) | + |
| @( | ) | ( | ) |
layout_+([0-9])@(*(-final)|?(-last)).pdf
^layout_[0-9]+((-final)*|(-last)?)\.pdf$
shopt -s globasciiranges
LC_COLLATE, LC_CTYPE, ... LC_ALLrm [a-z]*.pdfshopt -s nullglobfor i in *; mkdir -p "$i"/foo; doneshopt -s failglobtouch *shopt -s dotglobrm *shopt -s nocaseglobrm *.jpgshopt -s globstarrm **/*.jpgset -fgrep [a-z][0-9]* f1GLOBIGNORE=*.bak:*~[ "$file" = \*.jpg ][[ $file = *.jpg ]][[ $file = '*.jpg' ]][[ $file = a*a ]][[ $file = a* && $file = *a ]][[ $file = layout_+([0-9]).pdf ]][[ $file =~ ^layout_[0-9]+\.pdf$ ]][[ $file =~ ^layout_([0-9]+)\.pdf$ ]]num=${BASH_REMATCH[1]}RE='^layout_([0-9]+)\.pdf$'[[ $file =~ $RE ]]for f in /var/log/**/*.log
do
[[ $f =~ /var/log/(.*)/(.*)/(.*)/(.*).log ]] \
|| continue
service=${BASH_REMATCH[1]}
Y=${BASH_REMATCH[2]}
M=${BASH_REMATCH[3]}
D=${BASH_REMATCH[4]}
ln -s "$f" "/var/log/$Y$M$D-$service.log"
done
case $var in
SP1|SP2) only_this;;
SP3) test_more;;&
SP4) do_next;&
*) default;;
esacshopt -s nocasematchF=/var/log/access-main_12.log.gz
${F#*/} | /var/log/access-main_12.log.gz |
${F##*/} | /var/log/access-main_12.log.gz |
${F%.*} | /var/log/access-main_12.log.gz |
${F%%.*} | /var/log/access-main_12.log.gz |
F=/var/log/access-main_12.log.gz
${F/-*_/_}/var/log/access-main_12.log.gz/var/log/access_12.log.gz |
${F//[-_]/:}/var/log/access-main_12.log.gz/var/log/access:main:12.log.gz |
for i in !(`date +%Y-%m`*)/
do
i=${i%/}
p=${PWD//\//_}
p=${p#_}
tar cvzf "${p}_$i.tgz" "$i" \
&& rm -rf "$i"
done
for i in !(`date +%Y-%m`*)/
do
i=${i%/}
p=${PWD//\//_}
p=${p#_}
tar cvzf "${p}_$i.tgz" "$i" \
&& rm -rf "$i"
done
for i in !(2019-03*)/
do
i=${i%/}
p=${PWD//\//_}
p=${p#_}
tar cvzf "${p}_$i.tgz" "$i" \
&& rm -rf "$i"
done
for i in !(2019-03*)/
do
i=${i%/}
p=${PWD//\//_}
p=${p#_}
tar cvzf "${p}_$i.tgz" "$i" \
&& rm -rf "$i"
done
for i in 2018-12/ 2019-01/ 2019-02/
do
i=${i%/}
p=${PWD//\//_}
p=${p#_}
tar cvzf "${p}_$i.tgz" "$i" \
&& rm -rf "$i"
done
for i in 2018-12/ 2019-01/ 2019-02/
do
i=${i%/}
p=${PWD//\//_}
p=${p#_}
tar cvzf "${p}_$i.tgz" "$i" \
&& rm -rf "$i"
done
for i in 2018-12/ 2019-01/ 2019-02/
do
i=${2018-12/%/}
p=${PWD//\//_}
p=${p#_}
tar cvzf "${p}_$i.tgz" "$i" \
&& rm -rf "$i"
done
for i in 2018-12/ 2019-01/ 2019-02/
do
i=2018-12
p=${PWD//\//_}
p=${p#_}
tar cvzf "${p}_$i.tgz" "$i" \
&& rm -rf "$i"
done
for i in 2018-12/ 2019-01/ 2019-02/
do
i=2018-12
p=${PWD//\//_}
p=${p#_}
tar cvzf "${p}_$i.tgz" "$i" \
&& rm -rf "$i"
done
for i in 2018-12/ 2019-01/ 2019-02/
do
i=2018-12
p=${/var/data//\//_}
p=${p#_}
tar cvzf "${p}_$i.tgz" "$i" \
&& rm -rf "$i"
done
for i in 2018-12/ 2019-01/ 2019-02/
do
i=2018-12
p=_var_data
p=${p#_}
tar cvzf "${p}_$i.tgz" "$i" \
&& rm -rf "$i"
done
for i in 2018-12/ 2019-01/ 2019-02/
do
i=2018-12
p=_var_data
p=${p#_}
tar cvzf "${p}_$i.tgz" "$i" \
&& rm -rf "$i"
done
for i in 2018-12/ 2019-01/ 2019-02/
do
i=2018-12
p=_var_data
p=${_var_data#_}
tar cvzf "${p}_$i.tgz" "$i" \
&& rm -rf "$i"
done
for i in 2018-12/ 2019-01/ 2019-02/
do
i=2018-12
p=_var_data
p=var_data
tar cvzf "${p}_$i.tgz" "$i" \
&& rm -rf "$i"
done
for i in 2018-12/ 2019-01/ 2019-02/
do
i=2018-12
p=_var_data
p=var_data
tar cvzf "${p}_$i.tgz" "$i" \
&& rm -rf "$i"
done
for i in 2018-12/ 2019-01/ 2019-02/
do
i=2018-12
p=_var_data
p=var_data
tar cvzf "var_data_2018-12.tgz" "2018-12" \
&& rm -rf "2018-12"
done
HISTIGNORE='l[sal]:pwd: *:*\&:&'
bind -p | grep glob
"\eg": glob-complete-word
"\C-x*": glob-expand-word
"\C-xg": glob-list-expansions
cd /bin
echo b*h█ [ESC-G]
echo bash █
echo *sh█ [CTRL-X][*]
echo bash dash rbash rzsh sh zsh █
echo *sh█ [CTRL-X][G]
echo *sh█
bash dash rbash rzsh sh zsh
-name SP | -iname SP |
-path SP | -ipath SP |
-regex RE | -iregex RE |
-regex-type TYPE | ‘findutils-default’, ... ‘grep’, ‘egrep’ |
find -name *.pdffind -name '*.pdf'find -regex '.*\.pdf$'