Это могло бы быть проблемой с WiFi, не Fedora вообще. Проверьте следующее:
iwlist wlan0 scan
(принятие Вашей карты является wlan0), посмотрите, использует ли Ваш маршрутизатор переполненный канал. Если так, ищите неиспользованный (или один с меньшим количеством/хуже сигнала) и реконфигурируйте маршрутизатор Проходите через Lib / Quoteg.c
В исходном козелете выявляет, что цитирование зависит от вашего Locale
. В моем Minux Mint 17 ( EN_GB.UTF-8
) У меня есть влево, так и правая цитата то же самое (
, тогда как система с en_us.utf-8
Поскольку локалий имеют обратную ответственность перед (слева) именем файла.
Эта статья имеет какой-то фон
-121--139833-rename -n 's/^((\w+\.+){3})(.).*\.(.*)\.(.).*\.(.*)\.\-(\..*)$/$1$3$4$5$6$7/' *
\ W +
соответствует одному или нескольким символам слова, то есть [A-ZA-Z0-9 _] +
[1] \. +
соответствует одному или нескольким точкам (.
) символ [2]
Примечание , что \.
соответствует .
характер. Нам нужно использовать \.
представлять .
как .
имеет особое значение в Regex. \
известен как код Escape, который восстанавливает исходное буквальное значение следующего символа.
(\ W + \. +) {3}
соответствует максимум 3 раза любых точностью выше [1], [2] группы символов, начиная с начала ( ^
соответствует началу имена) имени файлов.
Это будет соответствовать или вернуться my.program.name.
Примечание , что дополнительные скобки вокруг регеляции используются для группировки сопоставления. Матч группировки начинается с (
и заканчивается )
и используется для обеспечения так называемого обратных ссылок . Задняя ссылка содержит соответствующую подковую строку, хранящуюся в специальных переменных , 1 , $ 2 , ... , $ 9 , где 1 доллар содержит Подстрока соответствует первой паре скобок и так далее.
.
Метахарактерная точка (.) Соответствует любому одному символу. Например ...
соответствует любым 3 символам. Так что с этим (.)
Мы подходим к первому символу сезона
, которое оно составляет S
.
. * \.
Соответствует всем после того, как одна четверть превышает до первой .
если видно. Как видите, мы не захватываем его как группу матчей, потому что мы хотим удалить это с нашего имени, где это соответствует Eason.
.
(. *)
соответствует всем после вышестоящего матча. Это соответствует NN
. Скобки, используемые здесь, потому что мы хотим сохранить это в файле имени.
\.
соответствует одному точку после приведенного выше совпадения. .
После первого Nn
.
(.) [)
Опять с этим, мы подходим к первому одному символу после вышестоящего матча. Это вернутся только е
.
. * \.
будет сопоставить все после приведенного выше совпадения до первой .
. Будет соответствовать PiSode.
.
(. *)
совпадает с чем-либо после последней сопоставленной точки сверху. Это будет соответствовать второму NN
.
\. \ -
соответствует точе .
, а затем дарем -
. Будет соответствовать или вернуться .-
и, наконец, (\. *) $
соответствует одной точке .
И все после этого, что заканчивается до конца имени файла. $
соответствует концу имя файла или входной строки.
Примечание. Удалить -N
, чтобы выполнить фактическое переименование.
Попробуйте сделать это с Perl Rename
:
rename -n 's/
(.*?s)eason\.(\d{2})\.episode\.(\d{2})\.-\.(.*\.avi)
/$1$2e$3.$4/x
' my.program.name*
Как только вы удовлетворены тем, что это делает то, что вы хотите, удалите -N
, чтобы фактически выполнить переименование.
Вы можете сделать его чистым Bash:
netikras@netikras-netbook /tmp $ ls -l /tmp/*.*season.*episode.*avi
-rw-r--r-- 1 netikras netikras 0 Grd 16 10:29 /tmp/my.program.name.season.05.episode.07.-.title.avi
-rw-r--r-- 1 netikras netikras 0 Grd 16 10:29 /tmp/my.program.name.season.05.episode.32.-.title.avi
-rw-r--r-- 1 netikras netikras 0 Grd 16 10:29 /tmp/my.program.name.season.05.episode.35.-.title.avi
-rw-r--r-- 1 netikras netikras 0 Grd 16 10:29 /tmp/my.program.name.season.NN.episode.NN.-.title.avi
netikras@netikras-netbook /tmp $ for i in *.*season.*episode.*avi; do nn="${i/season./s}"; nn=${nn/.episode./e}; nn=${nn/.-./.} ; echo "moving: $i ----> $nn"; mv $i $nn; done
moving: my.program.name.season.05.episode.07.-.title.avi ----> my.program.name.s05e07.title.avi
moving: my.program.name.season.05.episode.32.-.title.avi ----> my.program.name.s05e32.title.avi
moving: my.program.name.season.05.episode.35.-.title.avi ----> my.program.name.s05e35.title.avi
moving: my.program.name.season.NN.episode.NN.-.title.avi ----> my.program.name.sNNeNN.title.avi
Таким образом, вам не нужно вызывать какие-либо внешние приложения, то есть SED / AWK, чтобы выполнить работу. Bash может легко изменять строки со встроенным инструментом. Вы просто замените 3 части вашего имени файла и создаете новый. Тогда все, что осталось, это назначить новое имя файлу. Нет необходимости изучать любые из этих жутких Regexes, чтобы сделать простую работу.