Сценарии Shell: Используя удар с xargs

Это не столь просто, как мне жаль, что это не было. Существует три опции, о которых я знаю.

1).Net - можно использовать.Net платформу, чтобы сделать это в PS, но это включает управление неструктурированным сокетом, которое я не хотел бы делать в сценарии. Если бы я шел этим путем, то я обернул бы весь спам ftp в DLL в C#, тогда используют тот DLL от powershell.

2) Управление файлом - Если Вы знаете шаблон названия файла, который необходимо получить каждый день тогда, Вы могли просто открыть свой сценарий ftp с PS и изменить имя файла в сценарии. Тогда выполните сценарий.

3) текст Канала к FTP - последняя опция состоит в том, чтобы использовать powershell для передачи по каналу информации в и из сеанса FTP. См. здесь .

11
задан Dan Monego 19 October 2009 в 18:51
поделиться

5 ответов

Попробуйте использовать:

find . -name vmware-*.log -print0 | xargs -0 rm

Это заставляет find выводить нулевой символ после каждого имени файла и сообщает xargs разбивать имена на основе нулевых символов вместо пробелов или других токенов.

24
ответ дан 3 December 2019 в 01:16
поделиться

Проверьте флаг -0 для xargs ; в сочетании с find -print0 , который вы должны установить.

find . -name vmware-*.log -print0 | xargs -0 rm
5
ответ дан 3 December 2019 в 01:16
поделиться

Не использовать xargs. Найти можно без посторонней помощи:

find. -name "vmware - *. log" -exec rm '{}' \;

9
ответ дан 3 December 2019 в 01:16
поделиться

GNU find

find . -name vmware-*.log -delete
4
ответ дан 3 December 2019 в 01:16
поделиться

найти. -name vmware - *. log | xargs -i rm -rf {}

1
ответ дан 3 December 2019 в 01:16
поделиться