Это может быть проблема с конвертером или проблема с DTO. Попробуйте решить это, добавив методы hashCode () и equals () в ваш объект DTO; В приведенном выше сценарии вы можете сгенерировать эти методы в классе объекта Location, который указывается здесь как «DTO».
Пример:
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + (int) (id ^ (id >>> 32));
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Location other = (Location) obj;
if (id != other.id)
return false;
return true;
}
В обычных Unix-подобных системах нет способа получить доступ к удаленным файлам через ftp
, как если бы они были локальными. Возможно, вы сможете найти драйвер виртуальной файловой системы (Google для FUSE) или операционную систему (Plan 9, Inferno?), Которая поддерживает это; но тогда это становится вопросом для выбранной вами платформы, а не о sed
или U * x.
Стандартным решением было бы загрузить файл, изменить его локально и загрузить обратно в исходное местоположение.
curl 'ftp://server247.web-hosting.com/squit.io/index.html' |
sed -e 's/Squit/Use/g' -e 's/squit/ooze/g' >/tmp/squit.io.index.html
# Then upload it back somehow
Обратите внимание также на синтаксис для объединения нескольких команд sed
в одном вызове. Если бы действительно было возможно редактировать удаленные файлы на месте, вам бы особенно хотелось избежать накладных расходов, связанных с многократными обходами и перезаписью файла несколько раз; но даже для локальной обработки, это определенно то, чего всегда следует избегать, если это вообще возможно.