2016-09-26 1 views
-3

Я пытаюсь удалить один или несколько трубок' | ' символов из имени файла и заменить их на «_». Я попробовал несколько вариантов с использованием Mas OS SED. Но все же я получаю ошибки.Mac OS SED replace '|' с '_ "в filename

Итак, если у вас есть имя файла «ABC | DEF | ГХИ»

, и я хочу, чтобы привести имя файла, чтобы быть„ABC_DEF_GHI“ как я могу добиться этого с SED т.е. удалить пробелы и заменить трубы.„|“ с «_»

Любая помощь будет оценена по достоинству.

+0

Вы пытаетесь переименовать файл или изменить список имен файлов, сохраненных в файле или изменить файл имя, сохраненное в переменной оболочки или что-то еще? [edit] ваш вопрос, чтобы уточнить. –

+0

Я записываю имя файла как переменную скрипта и хочу заменить эту переменную скрипта на «очищенное» имя файла. – Alastair

ответ

2

Я думаю, что было бы проще использовать простой bash. Если $name содержит имя файла, затем ${name//|/_} заменяет | с _, так что вы могли бы сделать что-то вроде:

mv -i -- "$name" "${name//|/_}"