привязка “последней сессии” tmux

Я не думаю, что существует способ иметь cp сделайте это непосредственно, но это должно сделать по существу то же самое:

cp -vu file destination | awk '{ gsub("[`\x27]", "", $1); print $1 } END { if (NR == 0) print "NOFILES" }' | xargs -I{} find . ! -name {} -maxdepth 1

Эта небольшая острота идет с некоторыми ограничениями:

1) Это зависит от там того, чтобы не быть любыми файлами под названием "NOFILES". Можно поменять ту струну в awk управляйте к комплекту своими потребностями.

2) Необходимо быть в каталоге где file существует. Если Вы не находитесь в том каталоге, необходимо измениться find команда, чтобы быть find dirWhereFileExists вместо find . Если Вы не копируете с единственного каталога, можно использовать find dir1 dir2... вместо этого.

3) Это не будет работать, если у Вас по некоторым причинам будут обратные галочки или одинарные кавычки в Ваших именах файлов.

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

Править

Я проснулся этим утром и понял, что вышеупомянутым решением был мусор. Если бы Вы пытались скопировать несколько файлов, то это искало бы так много раз, как у Вас есть файлы, исключая один файл каждый раз. Следующее решение, однако, должно работать:

cp -vu file destination | awk '{ gsub("[`\x27]", "", $1); regex = $1 "|" regex } END { if (NR == 0) { regex = "NOFILES|" } print ".*/("substr(regex, 0, length(regex))")" }' | xargs -I{} find . -regextype posix-extended ! -regex {} -maxdepth 1

Это создает regex, когда это идет и передачи это к find вместо этого. Те же ограничения как выше применяются.

Извините за заскок ранее. Угадайте, что было слишком поздно, чтобы быть на StackOverflow.

8
18.09.2013, 13:14
2 ответа

Не знайте о том, как связать с Извлечь ключом (это слишком далеко от клавиш Home так или иначе!), но это добьется цели:

bind-key -n z switch-client -l
14
27.01.2020, 20:09

В последних версиях tmux (, например. 2.6 )клавишаPrefix-Lуже привязана к команде switch-client -l, которая, как указал user47464 , вероятно, вам нужна.

Вы можете проверить свои привязки с помощьюPrefix-?:

...
bind-key    -T prefix       L                 switch-client -l
...
5
27.01.2020, 20:09

Теги

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