Я хочу удалить все файлы в рамках каталога, которые запускаются с abc
за исключением abc
самостоятельно.
пример:
abc abc1 abc2
Как я удалил бы abc1
и abc2
только в единственной командной строке?
Можно использовать шарик оболочки abc?*
для соответствия abc
сопровождаемый по крайней мере одним символом
rm abc?*
, например,
$ ls abc*
abc abc1 abc2
$ ls abc?*
abc1 abc2
так
$ rm abc?*
$ ls abc*
abc
Альтернативная оболочка путь:
$ for f in abc*; do case "$f" in "abc") continue;; *) echo "$f";; esac;done
замена echo
с rm
после тестирования.