Я нашел интересное обходное решение, которое работает отдельно для каждого устройства, протестировано на Xubuntu 18.10 с USB-устройствами и монтированием EncFS.
Это очень просто, удалите нужный .Trash-$(id -u)
каталог(id -u
чаще всего 1000 ), и создайте вместо него файл с таким же именем:
rm -rf /path/to/.Trash-1000
touch /path/to/.Trash-1000
Что происходит теперь, когда вы удаляете файл, по крайней мере, с помощью Thunar, так это то, что вместо перемещения файлов в корзину появляется диалоговое окно с предупреждением о том, что файлы будут уничтожены (, что тоже здорово, так как вы не Я не хочу, чтобы они были уничтожены случайно ).
Повторить индексы массива, чтобы было проще установить новое значение.
Это использует case
для ветвления по шаблонам глобусов, и вы можете легко расширить это до M
иG
stats_array=( 1 54 54K 99 )
for idx in "${!stats_array[@]}"; do
value=${stats_array[idx]};
case $value in
*K) stats_array[idx]=$(( ${value%K} * 10**3 )) ;;
esac
done
declare -p stats_array
declare -a stats_array=([0]="1" [1]="54" [2]="54000" [3]="99")
Обратите внимание, что арифметика bash не может обрабатывать числа с плавающей запятой, поэтому вы не можете ожидать, что 53.9K
превратится в53900
$ { IFS=, ; arr=( 1,54,54K,99k ); }
$ printf '%s\n' ${arr[@]}
1
54
54K
99k
## note: enable extended pattern matching for [...] with 'shopt -s extglob'
$ rearr=( "${arr[@]//%[Kk]/000}" )
$ printf '%s\n' ${rearr[@]}
1
54
54000
99000
## or write the changes to same array
$ arr=( "${arr[@]//%[Kk]/000}" )