2013-03-04 2 views
-1

Я пытаюсь заменить строку в имени файла:Как заменить строку в имени файла

Оригинальное имя файла:

gamename games.com.zip 

Целевое имя файла:

gamename.zip 

Я пытаясь заменить строку games.com пустой строкой. gamename не является постоянной строкой, это может быть что угодно, но games.com - это постоянная строка.

+2

'rename" games.com "" "* zip' –

+0

О, в имени файла, нет i в теле. Правильно. – cnicutar

+0

Какая у вас задача использовать String.Replace man? –

ответ

0

Попробуйте следующую команду: rename

$ filename="gamename games.com.zip" 
$ rename " games.com" "" "$filename" 

Поскольку имя файла почтового индекса имеет место, вы должны убедиться, что вы заключите его в двойных кавычках.

+1

Thanx, но он не будет работать так, как я ожидал. Вы видите, что «gamename» не является постоянной строкой, это может быть что угодно, поэтому сценарий должен быть гибким ... единственной константной строкой в ​​имени файла будет «games.com.zip». –

1

Я хотел бы использовать

mv "$filename" "${filename/ games.com/}" 

Это описано в разделе 'Узор' в подстановки человеко-странице 'Bash' онлайн расширения параметр

+0

Не нужно избегать периода; это шаблон, а не регулярное выражение. Конечный '/' также является необязательным. – chepner

+0

Спасибо за уточнения. Я оставляю хвост '/' для хорошей формы (делая видимым идиоматическую форму комбинации/шаблона/замены) – sehe

Смежные вопросы