После некоторых расследований и просмотров я получил ответ.
1 )Thunar предполагает перемещение в корзину и никогда не копирование -это означает, что ваш файл будет удален (FTBT )и каталог корзины должен находиться в той же файловой системе.
2 )Если ваш FTBT находится в вашем домашнем каталоге, Thunar попытается переместить его в ~/.local/share/Trash
. Если папка находится в другом разделе, операция завершится ошибкой.
3 )Если ваш FTBT находится в какой-то другой файловой системе (другой раздел, диск или монтирование nfs )Thunar попытается создать папку .Trash-$UID
в верхней папке файловой системы. У вас может не быть разрешений для этого, и операция завершится ошибкой.
Предположим, у вас есть второй диск, смонтированный в каталоге /disk2
:
$ ls -ld /disk2
drwxr-xr-x 5 root root 4096 [some date] /disk2
А у вас естьUID 1000
:
$ echo $UID
1000
Затем создайте папку для корзины:
$ sudo mkdir /disk2/.Trash-1000
$ sudo chown 1000 /disk2/.Trash-1000
$ chmod og-rwx /disk2/.Trash-1000
Thunar должен сделать остальную (структуру подкаталогов ), и ваша корзина должна работать.
Надеюсь, это поможет.
filename=$(unzip toto.zip | awk 'sub(/^[[:space:]]*inflating:[[:space:]]+/,""){print; exit}')
должен работать надежно и эффективно при использовании любого awk (, но не тестировался ). Также подумайте о том, чтобы сделать то же самое с выводом unzip -l
.
Это должно работать (, хотя иногда существуют различия между версиями sed
и unzip
, доступными в разных системах):
filename=$(unzip toto.zip | sed -n 's/^[[:space:]]*inflating:[[:space:]]*//p')
Эта команда распаковывает файл и отправляет вывод на sed
. sed
ищет строки, начинающиеся с пробела, а затем inflating:
. Если такая строка найдена, sed удалит все, включая inflating:
и все последующие пробелы, а затем напечатает то, что осталось, что должно быть именем файла. Все остальное отбрасывается (благодаря опции -n
). Наконец, мы сохраняем вывод в переменной filename
.
Спасибо, оба sed и awk работали, даже если они оба оставляли дополнительный пробел в конце для обрезки
Зачем использовать unzip -l здесь?