cp после того, как xargs не работает

Самый простой:

apt list --upgradable
7
05.03.2017, 16:16
2 ответа
ls -al /var/cache/apt/archives/ |
    grep 'i386' | 
    awk '{print $9}'

можно упростить до / var / cache / apt / archives / * i386 *


Итак, используйте любой из этих двух:

cp -u /var/cache/apt/archives/*i386* /home/alex/debian-share/apt-archives/

cp -ut /home/alex/debian-share/apt-archives/ /var/cache/apt/archives/*i386*

где

   -t, --target-directory=DIRECTORY
          copy all SOURCE arguments into DIRECTORY


См. Также информация о парсинге ls

14
27.01.2020, 20:13

Хотя вы уже знаете, как вам следует решить вашу текущую проблему, я все же отвечу по поводу xargs.

xargs помещает полученную строку в конец команды, в то время как в вашем случае вам нужна эта строка перед последним аргументом cp. Используйте опцию -I в xargs для создания команды. Например, так:

ls /source/path/*pattern* | xargs -I{} cp -u {} /destination/path

В этом примере я использую {} в качестве строки замены, поэтому синтаксис похож на find.

49
27.01.2020, 20:13

Теги

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