Принятие Вас имеет GNU (find
, xargs
, & mv
), измените свою команду на это:
$ find /foot/bar/ -name '*.csv' -print0 | xargs -0 mv -t some_dir
выборка от mv
страница справочника
-t, --target-directory=DIRECTORY
move all SOURCE arguments into DIRECTORY
Вышеупомянутое xargs ...
создаст команду так, чтобы вызовы для перемещения были похожи на это:
$ mv 1.csv 2.csv 3.csv ... -t some_dir
Можно пропустить этот подход, просто имея find
сделайте всю работу саму:
$ find /foot/bar/ -name '*.csv' -exec mv -t some_dir {} +
mv -t ...
?Это имеет отношение к пути который xargs
создает набор файлов для передачи команде, которую он собирается выполнить каждый раз, (т.е. mv ...
).
Когда Вы работаете mv
управляйте вручную собой, Вы управляете, сколько имен файлов передается ему и таким образом, Вы не должны волноваться о необходимости -t my_dir
так как Вы всегда будете помещать целевой каталог в последний раз.
Вы можете посмотреть в /sys
блочное устройство для заданного имени раздела. Например, /dev/sda1:
$ ls -l /sys/class/block/sda1
lrwxrwxrwx 1 root root /sys/class/block/sda1 -> \
../../devices/pci0000:00/.../ata1/host0/target0:0:0/0:0:0:0/block/sda/sda1
Скрипт, принимающий arg /dev/sda1
и печатающий /dev/sda
, выглядит так:
part=$1
part=${part#/dev/}
disk=$(readlink /sys/class/block/$part)
disk=${disk%/*}
disk=/dev/${disk##*/}
echo $disk
У меня нет lvm и т.д., чтобы попробовать, но, вероятно, есть какой-то похожий путь.
Есть также lsblk
:
$ lsblk -as /dev/sde1
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sde1 8:65 1 7.4G 0 part
`-sde 8:64 1 7.4G 0 disk
и, как сказал @don_crissti, вы можете получить родителя напрямую с помощью:
lsblk -no pkname /dev/sda1
Я думаю, что, возможно, избегать Alt + Tab - хорошая идея. Корица имеет горячие углы - у меня есть мои углы настроены, чтобы представить мои окна в виде сетки значков (Показать все окна), который как 'Scale Windows' в Compiz, что позволяет мне прямо нажать на окно я хочу следующий.
Для ковбоя с клавиатурой (как вы предпочитаете ALT + TAB я полагаю, это вы...) Я бы рекомендовал CTRL + ALT + UP и CTRL + ALT + DOWN - масштабировать окна, и то же самое, но с рабочими пространствами (Показать все рабочие области также масштабировать все окна в каждом рабочем пространстве).
Если используется только одно рабочее пространство, можно удалить все остальные и просто использовать клавиши CTRL + ALT + DOWN.
Используя приложение «Клавиатура», вы можете легко сбросить этот ярлык - CTRL + ~ должны сделать хитрость, всего одну клавишу вверх от вкладки.
Этот ответ работает на меня, так как я понятия не имею, как установить правила окна в корице - он не доступен через общие инструменты. Он работает на конки (пропуск пейджера), но оконный менеджер немного более тесно связан в пользу стабильности, чем Compiz.
-121--42249- В /sys
можно просмотреть устройство блокировки для заданного имени раздела. Например ,/dev/sda1:
$ ls -l /sys/class/block/sda1
lrwxrwxrwx 1 root root /sys/class/block/sda1 -> \
../../devices/pci0000:00/.../ata1/host0/target0:0:0/0:0:0:0/block/sda/sda1
Сценарий для получения arg /dev/sda1
и печати /dev/sda
:
part=$1
part=${part#/dev/}
disk=$(readlink /sys/class/block/$part)
disk=${disk%/*}
disk=/dev/${disk##*/}
echo $disk
У меня нет lvm и т.д., чтобы попробовать, но, вероятно, есть какой-то похожий путь.
Существует также lsblk
:
$ lsblk -as /dev/sde1
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sde1 8:65 1 7.4G 0 part
`-sde 8:64 1 7.4G 0 disk
и как @ don _ crissti сказал, что вы можете получить родителя непосредственно с:
lsblk -no pkname /dev/sda1
-121--70663- Возможно, не красиво:
for d in `fdisk -l 2>/dev/null | grep "^Disk " | cut -d":" -f1 | cut -f2`
do
if [ `fdisk -l $d 2>/dev/null | grep -c "/dev/sda1"` -gt 0 ]
then
echo On disk $d
fi
done
Это работает только для «реальных» дисков, а не для LVM.
Работает только с локалью UTF -8. lvm, zfs, рейд проверены нормально.
parent_tree_disk() {
lsblk | awk '/^[A-Za-z]/{d0=$1; print d0};/^[└─├─]/{d1=$1; print d0, d1};/^ [└─├─]/{d2=$1; print d0, d1, d2}' | sed 's/[├─└─]//g'
}
alias pd='parent_tree_disk'
команда оболочки:#pd
ИМЯ
сда
сда сда1
сда сда2
sda sda2 cl -корень
sda sda2 кл -подкачка
команда оболочки:#pd | awk '/sda2/{print $1}'
сда
И вы можете использовать другие фильтры для вывода списка pd, такие как sort, uniq...