Основной подход состоял бы в том, чтобы выполнить это из каталога, содержащего mp3 файлы:
for i in *.mp3; do cp "$i" /path/to/flac/ && rm path/to/flac/"${i%.*}".flac; done
Это проходит все файлы, имя которых заканчивается в .mp3
, копии каждый к /path/to/flac/
то, которое должно быть каталогом, содержащим flac файлы и если копия была успешна, удаляет соответствие .flac
файл. Прием использует возможности обработки строк оболочки, ${i%.*}
удалит расширение так rm ${i%.*}.flac
удалит файл, который имеет то же имя как текущий mp3 файл, но a .flac
расширение.
Проиллюстрировать:
$ foo='abc.def'
$ echo ${foo%.*}
abc
Одним из способов этого может быть unedand
. Описание для него и утилита expand
можно найти здесь :
unefand
копирует файлы или стандартные входные данные в стандартный вывод, преобразуя < пустые >
символы в начале каждой строки в максимальное количество < tab >
символов, за которым следует минимальное количество < пробел >
символов, необходимых для заполнения того же столбца позиций первоначально заполненных переведенными < пустые >
символов. По умолчанию табуляторы устанавливаются в каждой восьмой позиции столбца. Каждый < backspace >
копируется в выходные данные и приводит к уменьшению количества позиций столбцов для вычисления табуляции; количество никогда не должно уменьшаться до значения, меньшего единицы. Вероятно, вам нужен переключатель -a
.
-a
-
Помимо перевода < пустых >
символов в начале каждой строки, переведите все последовательности из двух или более < пустых >
символов, непосредственно предшествующих позиции табуляции, в максимальное количество < tab >
символов, за которым следует минимальное количество < пробел >
символов, необходимых для заполнения тех же позиций столбцов, которые первоначально были заполнены переведенными < пустых >
символов. Это простая утилита для преобразования многих мест в последовательности в вкладки. Таким образом, вы могли бы...
unexpand -a <<\IN | cut -f1
16 SQL*Plus vilconv1 dox-conv2
16 TOAD background query session Disha WORKGROUP\AD
IN
... который печатает...
16 SQL*Plus
16 TOAD background query session
Я просто использую вырезать
там, но если вы хотите, вы могли бы использовать awk
или что-нибудь еще на самом деле. Я предлагаю это только потому, что вы почти определенно уже установили его, он очень прост в использовании, и очень быстро. Он решает проблему пространства, заменяя разделители - и делает это очень легко.
Я также использую здесь документ только для того, чтобы показать, как он работает, но вы, вероятно, захотите сделать...
unexpand -a <infile | filter program
-121--74155- Убедитесь, что у вас есть разрешения на доступ к окончательному подкаталогу, и ответ @ jasonwryan должен работать.
-121--174995-Да, gparted должен работать одинаково. Однако я не пробовал. Для форматирования различных microSDHC и 64GB microSDXC я использую mkfs.fat в комплекте с Ubuntu 14.04.