The UNIX and Linux Forums  


Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Как добавить пространства (скажем, 10 мест) в конце каждой строки основанных на длине й prathima UNIX для чайников Вопросы И Ответы 17 01-28-2009 04:10 PM
Замените пробел в одну закладку, а также право выравнивание Дже Shell программирование и сценарии 1 08-08-2007 11:58 PM
Замените все вхождения строки во всех file-/foldernames, рекурсивно TheMJ Shell программирование и сценарии 2 04-12-2006 02:40 AM
Заменить пространстве с 0 в числовых значений с. videsh77 Shell программирование и сценарии 1 04-15-2005 02:22 AM
Стриптиз ведущих и завершающих пробелов только в оболочке переменная со встроенными пространств jerardfjay Shell программирование и сценарии 6 03-07-2005 02:24 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 08-31-2007
prvnrk prvnrk is offline
Зарегистрированный пользователь
  
 

Регистрация: Jul 2007
Сообщений: 138
Заменить пространств рекурсивно

Привет,

У меня есть каталог с файлами и суб-директории (суб-директории глубина может идти до 5). Там будет одно или более мест (непрерывно или в любом месте в имени файла), которые должны быть заменены дефисы. Как мне заменить всех космических явлений с дефисом в файле / реж имена рекурсивно. (2 или более непрерывный случаи пространств следует заменить ОДНОМЕСТНЫЙ дефис).


Спасибо
Prvn
Old 08-31-2007
ahmedwaseem2000 ahmedwaseem2000 is offline
Зарегистрированный пользователь
  
 

Регистрация: август 2005
Место проведения: Бангалор
Сообщений: 219
Попробуйте это:


Код:
find . -name "*" | sed '1,$s/ /\-/g; s/\-\-/\-/g'

Old 08-31-2007
kamitsin's Avatar
kamitsin kamitsin is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2006
Местоположение: / Dev / нуль
Сообщений: 177
Цитата:
Первоначально Послано ahmedwaseem2000 View Post
Попробуйте это:


Код:
find . -name "*" | sed '1,$s/ /\-/g; s/\-\-/\-/g'
Васим,

Это не переименовать файл. Вариант состоит в том, чтобы написать сценарий с сочетанием найти,SED М. В. команду.

Ура,
K
Old 08-31-2007
ahmedwaseem2000 ahmedwaseem2000 is offline
Зарегистрированный пользователь
  
 

Регистрация: август 2005
Место проведения: Бангалор
Сообщений: 219
Цитата:
Первоначально Послано kamitsin View Post
Васим,

Это не переименовать файл. Вариант состоит в том, чтобы написать сценарий с сочетанием найти,SED М. В. команду.

Ура,
K
Я знаю, он не будет переименовывать файл, но это будет лишь создать список файлов, как ожидалось. простой М.В. могут осуществляться после получения списка из моей предыдущей команды.
Old 08-31-2007
prvnrk prvnrk is offline
Зарегистрированный пользователь
  
 

Регистрация: Jul 2007
Сообщений: 138
Thannks kamitsin и Васим.

Kamitsin, ваше решение предложить рекурсивный и да, я буду использовать MV для достижения остальных.

Мне нужен небольшой аддон для моих потребностей (извините, я не упоминал ранее), что ведущие и конечные пробелы должны быть устранены (не должна быть заменена дефис). Другими словами, файл / реж имена не должны начала / окончания с дефисами, например, если файл с именем
"МН", чтобы стать "МН".

Txs
Prvn
Old 08-31-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Sep 2006
Сообщений: 2555
Если у вас есть Python и позволяет использовать его в качестве альтернативы:

Код:
#!/usr/bin/python
import os,re
for root,dir,files in os.walk("/test"):
    for fi in files:
        if fi.count(" ")>0:
            fi=fi.strip()
            newfile = os.path.join(root,re.sub("\s+","-",fi))
            os.rename(os.path.join(root,fi),newfile)

Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 10:44 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0