Как пакет удалить плохой символ из имен файлов?

Попробуйте использовать следующие команды после переключения на tty, нажав CTRL + ALT + F2, это может помочь вам решить вашу проблему:

    sudo stop lightdm
    sudo start lightdm
    sudo restart lightdm
    unity --reset
2
задан 12 October 2011 в 20:13

1 ответ

Вы можете воспользоваться утилитой iconv, способной преобразовывать строку из кодировки символов в другую, а также выполнять транслитерацию с похожим символом, когда кодировка адресата пропускает их.

следующий скрипт переименует каждый файл, переданный в командной строке, в одноименную версию ascii. При необходимости измените переменную input_enc и запустите с --no-test в качестве первого параметра, чтобы действительно переименовать.

#!/bin/bash

input_enc="UTF-8"

test=1
if [[ $1 == '--no-test' ]]; then
  test=0
  shift
else
  echo "This is a simulation"
  echo "run with --no-test as first parameter to really rename"
  echo
fi

normalize() {
  local f="$1"
  echo "$f" | iconv -f "$input_enc" -t ASCII//TRANSLIT
}

for f; do
  g="$(normalize "$f")"
  if ((test)); then
      echo mv -i "$f" "$g"
  else
      mv -i "$f" "$g"
  fi
done
3
ответ дан 25 May 2018 в 18:19

Другие вопросы по тегам:

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