Мне нравится расширение оболочки Workspaces to Dock GNOME.
Перетащите указатель мыши в правую сторону экрана. Док будет скользить. На доке вы можете увидеть, какие приложения запущены и где. Чтобы переместить окно в другое рабочее пространство, просто перетащите нужное окно из одного рабочего пространства в другое.
Найдите его на странице https://extensions.gnome.org/extension/427/workspaces-to-dock/
Эта ошибка выглядит так: Perl rename. Вам нужно использовать кавычки, но вам нужно только указать часть, которую вы хотите изменить, стиль поиска и замены. Синтаксис выглядит так:
rename -n 's/\.DAT/\.dat/' *
Удалите -n после тестирования, чтобы фактически переименовать файлы.
Чтобы включить скрытые файлы, измените настройку glob перед запуском команды: 2]
shopt -s dotglob
Если вы хотите переименовать файлы рекурсивно, вы можете использовать
shopt -s globstar
rename -n 's/\.DAT/\.dat/' **
или если в текущей директории или ниже текущей директории, которая не заканчивается .DAT, существует много путей, вам лучше указать эти пути во второй команде:
rename -n 's/\.DAT/\.dat/' **/*.DAT
Это будет быстрее, если ваши файлы имеют разные имена, не заканчивающиеся на .DAT. [1]
To выключите эти настройки, вы можете использовать shopt -u, например shopt -u globstar, но они отключены по умолчанию и будут отключены при открытии новой оболочки.
Если это приводит к чрезмерно длинному списку аргументов, вы можете использовать, например, find:
find -type f -name "*.DAT" -exec rename -n -- 's/\.DAT/\.dat/' {} \;
или лучше
find -type f -name "*.DAT" -exec rename -n -- 's/\.DAT/\.dat/' {} +
Использование find ... -exec с + выполняется быстрее, чем при использовании \;, потому что это создает список аргументов из найденных файлов. Первоначально я думал, что вам не удастся использовать его, потому что вы упомянули, что у вас проблема с argument list too long, но теперь я знаю, что этот список также будет умно разбит на несколько вызовов команды по мере необходимости избегайте этой проблемы [1] .
Поскольку rename будет обрабатывать каждое имя файла таким же образом, не имеет значения, как долго список аргументов, так как он может быть безопасно разделен через несколько вызовов. Если команда, которую вы используете с -exec, не принимает несколько аргументов или требует, чтобы ее аргументы находились в определенном порядке или по какой-либо другой причине разделение списка аргументов вызовет что-то нежелательное, вы можете использовать \;, что вызывает команда, которая будет вызываться один раз для каждого найденного файла (если список аргументов слишком длинный для других методов, это займет много времени!).
Большое спасибо Элиа Кагану за очень полезные предложения по улучшению этого ответа:
[1] Указание имен файлов при глобировании. [2] find ... -exec с + разделяет список аргументов.
Эта ошибка выглядит так: Perl rename. Вам нужно использовать кавычки, но вам нужно только указать часть, которую вы хотите изменить, стиль поиска и замены. Синтаксис выглядит так:
rename -n 's/\.DAT/\.dat/' *
Удалите -n после тестирования, чтобы фактически переименовать файлы.
Чтобы включить скрытые файлы, измените настройку glob перед запуском команды:
shopt -s dotglob
Если вы хотите переименовать файлы рекурсивно, вы можете использовать
shopt -s globstar
rename -n 's/\.DAT/\.dat/' **
или если в текущей директории или ниже текущей директории, которая не заканчивается .DAT, существует много путей, вам лучше указать эти пути во второй команде:
rename -n 's/\.DAT/\.dat/' **/*.DAT
Это будет быстрее, если ваши файлы имеют разные имена, не заканчивающиеся на .DAT. [1]
To выключите эти настройки, вы можете использовать shopt -u, например shopt -u globstar, но они отключены по умолчанию и будут отключены при открытии новой оболочки.
Если это приводит к чрезмерно длинному списку аргументов, вы можете использовать, например, find:
find -type f -name "*.DAT" -exec rename -n -- 's/\.DAT/\.dat/' {} \;
или лучше
find -type f -name "*.DAT" -exec rename -n -- 's/\.DAT/\.dat/' {} +
Использование find ... -exec с + выполняется быстрее, чем при использовании \;, потому что это создает список аргументов из найденных файлов. Первоначально я думал, что вам не удастся использовать его, потому что вы упомянули, что у вас проблема с argument list too long, но теперь я знаю, что этот список также будет умно разбит на несколько вызовов команды по мере необходимости избегайте этой проблемы [1] .
Поскольку rename будет обрабатывать каждое имя файла таким же образом, не имеет значения, как долго список аргументов, так как он может быть безопасно разделен через несколько вызовов. Если команда, которую вы используете с -exec, не принимает несколько аргументов или требует, чтобы ее аргументы находились в определенном порядке или по какой-либо другой причине разделение списка аргументов вызовет что-то нежелательное, вы можете использовать \;, что вызывает команда, которая будет вызываться один раз для каждого найденного файла (если список аргументов слишком длинный для других методов, это займет много времени!).
Большое спасибо Элиа Кагану за очень полезные предложения по улучшению этого ответа:
[1] Указание имен файлов при глобировании. [2] find ... -exec с + разделяет список аргументов.
Эта ошибка выглядит так: Perl rename. Вам нужно использовать кавычки, но вам нужно только указать часть, которую вы хотите изменить, стиль поиска и замены. Синтаксис выглядит так:
rename -n 's/\.DAT/\.dat/' *
Удалите -n после тестирования, чтобы фактически переименовать файлы.
Чтобы включить скрытые файлы, измените настройку glob перед запуском команды:
shopt -s dotglob
Если вы хотите переименовать файлы рекурсивно, вы можете использовать
shopt -s globstar
rename -n 's/\.DAT/\.dat/' **
или если в текущей директории или ниже текущей директории, которая не заканчивается .DAT, существует много путей, вам лучше указать эти пути во второй команде:
rename -n 's/\.DAT/\.dat/' **/*.DAT
Это будет быстрее, если ваши файлы имеют разные имена, не заканчивающиеся на .DAT. [1]
To выключите эти настройки, вы можете использовать shopt -u, например shopt -u globstar, но они отключены по умолчанию и будут отключены при открытии новой оболочки.
Если это приводит к чрезмерно длинному списку аргументов, вы можете использовать, например, find:
find -type f -name "*.DAT" -exec rename -n -- 's/\.DAT/\.dat/' {} \;
или лучше
find -type f -name "*.DAT" -exec rename -n -- 's/\.DAT/\.dat/' {} +
Использование find ... -exec с + выполняется быстрее, чем при использовании \;, потому что это создает список аргументов из найденных файлов. Первоначально я думал, что вам не удастся использовать его, потому что вы упомянули, что у вас проблема с argument list too long, но теперь я знаю, что этот список также будет умно разбит на несколько вызовов команды по мере необходимости избегайте этой проблемы [1] .
Поскольку rename будет обрабатывать каждое имя файла таким же образом, не имеет значения, как долго список аргументов, так как он может быть безопасно разделен через несколько вызовов. Если команда, которую вы используете с -exec, не принимает несколько аргументов или требует, чтобы ее аргументы находились в определенном порядке или по какой-либо другой причине разделение списка аргументов вызовет что-то нежелательное, вы можете использовать \;, что вызывает команда, которая будет вызываться один раз для каждого найденного файла (если список аргументов слишком длинный для других методов, это займет много времени!).
Большое спасибо Элиа Кагану за очень полезные предложения по улучшению этого ответа:
[1] Указание имен файлов при глобировании. [2] find ... -exec с + разделяет список аргументов.
Вы можете сделать:
rename -n 's/DAT$/\L$&/' *.DAT
Drop -n для фактического переименования.
glob pattern *.DAT соответствует всем файлам, заканчивающимся на .DAT в текущий каталог в подстановке rename, DAT$ соответствует DAT в конце \L$&, делает весь матч нижним; $& относится ко всему соответствиюЕсли вы просто хотите сделать для b1.DAT:
rename -n 's/DAT$/\L$&/' b1.DAT
Пример:
% rename -n 's/DAT$/\L$&/' *.DAT
rename(b1.DAT, b1.dat)
Вы можете сделать:
rename -n 's/DAT$/\L$&/' *.DAT
Drop -n для фактического переименования.
glob pattern *.DAT соответствует всем файлам, заканчивающимся на .DAT в текущий каталог в подстановке rename, DAT$ соответствует DAT в конце \L$&, делает весь матч нижним; $& относится ко всему соответствиюЕсли вы просто хотите сделать для b1.DAT:
rename -n 's/DAT$/\L$&/' b1.DAT
Пример:
% rename -n 's/DAT$/\L$&/' *.DAT
rename(b1.DAT, b1.dat)
Вы можете сделать:
rename -n 's/DAT$/\L$&/' *.DAT
Drop -n для фактического переименования.
glob pattern *.DAT соответствует всем файлам, заканчивающимся на .DAT в текущий каталог в подстановке rename, DAT$ соответствует DAT в конце \L$&, делает весь матч нижним; $& относится ко всему соответствиюЕсли вы просто хотите сделать для b1.DAT:
rename -n 's/DAT$/\L$&/' b1.DAT
Пример:
% rename -n 's/DAT$/\L$&/' *.DAT
rename(b1.DAT, b1.dat)