Как я использую основные команды Linux для удаления всех файлов кроме одного?

Я хочу удалить все файлы в рамках каталога, которые запускаются с abc за исключением abc самостоятельно.

пример:

abc abc1 abc2  

Как я удалил бы abc1 и abc2 только в единственной командной строке?

3
задан 9 November 2017 в 04:06

2 ответа

Можно использовать шарик оболочки abc?* для соответствия abc сопровождаемый по крайней мере одним символом

rm abc?*

, например,

$ ls abc*
abc  abc1  abc2
$ ls abc?*
abc1  abc2

так

$ rm abc?*
$ ls abc*
abc
4
ответ дан 1 December 2019 в 15:35

Альтернативная оболочка путь:

$ for f in abc*; do case "$f" in "abc") continue;; *) echo "$f";; esac;done

замена echo с rm после тестирования.

1
ответ дан 1 December 2019 в 15:35

Другие вопросы по тегам:

Похожие вопросы: