проблема с находкой - исполнительное CP

Вы смогли фиксировать его путем создания a ~/.asoundrc см. http://alsa.opensrc.org/.asoundrc

Конкретно Вы хотите противоположность случая здесь: http://alsa.opensrc.org/.asoundrc#Default_PCM_device

так aplay -L с аудио usb в и и asoundrc как это мог бы работать:

pcm.!default front:Intel

Если Вашу карту (Как моя) называют Intel alsa, просто вставляющим это ~/.asoundrc должен работать (если Вы хотите, чтобы это влияло на материал, это не выполняется, поскольку Ваш UID затем вставил его /etc/asound.conf)

О, также ни одно из этого действительно не применяется при использовании pulseaudio... необходимо сделать другой материал в этом случае.

5
21.08.2018, 02:46
2 ответа

Что я делаю неправильно?

Это в порядке. find уже находит скопированные файлы в new и попытки скопировать их снова, поэтому предупреждающее сообщение отображено.

я могу использовать "+" с этой командой так, чтобы файлы были скопированы в единственном "пакете"? Существуют тысячи файлов!

Да, но необходимо изменить Вас, управляют этим путем:

find /var/www/import -iname 'test*' -newer timestamp -exec cp -t new {} +

потому что {} должен быть в конце исполнительного оператора в этом случае.

12
27.01.2020, 20:32
  • 1
    +1 для cp -t. В примере то предупреждение может быть безопасным, но Mike сказал, что действительно копировал тысячи файлов, поэтому возможно, игнорирование ошибок является плохой идеей, потому что могли бы быть другие типы ошибок, которые трудно видеть. –  Mikel 18.05.2012, 18:19

Добавьте echo перед cp и Вы будете видеть, что это делает

cp new/test1 new
cp test1 new

Поэтому find только смотрит в текущем каталоге, это смотрит во всех подкаталогах.

Альтернативы:

Сказать find не смотреть в подкаталогах:

find /var/www/import -maxdepth 1 \
    -iname 'test*' -newer timestamp -exec cp {} new \;

Сказать find проигнорировать new подкаталог:

find /var/www/import -type d -name new -prune -o \
    -iname 'test*' -newer timestamp -exec cp {} new \;

Скопируйте файлы в каталог за пределами /var/www/import:

find /var/www/import \
    -iname 'test*' -newer timestamp -exec cp {} /var/www/import.new \;

Но если у Вас будут подкаталоги, то Вы закончите тем, что теряли любые файлы, которые имеют те же имена.

например, если Вы имеете

test0
test1
scripts/test1

затем Вы закончите с

test0
test1
new/test1
scripts/test1

который test1 был скопирован в new?

Существует несколько способов обработать это, но самый легкий и самый эффективный способ, которым я могу думать, состоит в том, чтобы использовать cp --parents

cd /var/www/import
find . -type d -name new -prune -o \
    -type f -iname 'test*' -newer timestamp -exec cp --parents {} new \;

это даст Вам

test0
test1
new/test1
new/scripts/test1
scripts/test1

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

4
27.01.2020, 20:32

Теги

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