Удалите *.txt файлы по дате между MMDDYYYY и MMDDYYYYY

ps xww дает следующий вывод

...
    1 ?        Ss     0:00 init [2]
 1804 pts/0    Ss     0:00 -bash
...

После двух grepэто передает вывод по каналу к cut. Эта команда сокращает символ 1-5 из вывода. В выводе выше его был бы PID:

    1
 1804

Это передается по каналу к xargs. Xargs создает команды, которые похожи на это:

kill 1
kill 1804

и выполняет их. 2>/dev/null средства, которые все сообщения об ошибках отправляются на псевдоустройство /dev/null.

Таким образом, Ваша команда уничтожает каждый процесс, который является grepредактор из ps команда.

Или см. explainshell.

2
04.04.2014, 04:20
1 ответ

С zsh :

autoload age
rm -f -- *.txt(D.e{age 2014/03/20 2014/03/30})

С GNU или FreeBSD find:

find . -maxdepth 1 -name '*.txt' -type f -newermt 20140320 \
                                       ! -newermt 20140330 -delete

Это для файлов, измененных между 2014-03-20 00:00:00 и 2014-03-30 00:00:00 .

3
27.01.2020, 22:06

Теги

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