Команда Linux для копирования как жесткие ссылки, при удалении нежелательных файлов?

Проблема заключается в том, что необязательные задания параметров распознаются до того, как возникает расширение параметров , поэтому линия

$X

распознана как команда с Нет предшествующих заданий. Первое слово результата расширения предполагается, что это имя команды, поэтому оболочка пытается запустить y = 10 .

Как обычно в случае, вы не должны пытаться хранить код в переменной, а скорее в функции.

X () {
    Y=10 echo foo
}
1
30.10.2014, 01:46
1 ответ

Допустим, вы работаете с каталогами, названными «SRC» и «DEST», для источника и назначения вашей копии соответственно. Вы можете использовать следующую командную трубу для устранения файлов назначения, которые не присутствуют в источнике:

find src/* dest/* |cut -d'/' -f2- |sort |uniq -u |xargs printf "dest/%s\n" |xargs rm -f

Остерегайтесь, что это работает только, если ваши имена файлов не содержат пробелов или \ '».

.
0
28.01.2020, 01:51

Теги

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