В качестве альтернативы comm
рассмотримgrep
:
grep -vxFf /tmp/required /tmp/all
Это запрашивает строки в /tmp/all
, которых нет(-v
)в файле(-f
)/tmp/required
. Чтобы не интерпретировать любую строку в /tmp/all
как регулярное выражение, я добавил флаг «фиксированные строки» -F
. Кроме того, мы хотим, чтобы вся строка в /tmp/all
соответствовала одной (с )из /tmp/required
, поэтому мы используем опцию -x
.
Этот метод не требует сортированного ввода.
Я подозреваю, что ваша команда comm -23 <(sort...) <(sort...)
будет работать, если строка «SearchText.json» соответствует точно в обоих файлах (одинаковое количество пробелов в конце, если они есть ).
Наконец-то я заработал с этим шаблоном команды:
rsync -e ssh -a --delete --backup --backup-dir=.rsync_recycle/{TIME_STRING} --exclude=.rsync_recycle --log-file={LOG_FILE} {LOCAL_DIR}/src/ {REMOTE_SERVER}:{REMOTE_DIR}/dest/"