![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Переименование нескольких файлов | jayell | Shell программирование и сценарии | 7 | 01-12-2009 04:27 PM |
| Переименование нескольких файлов | Jazmania | Shell программирование и сценарии | 6 | 01-02-2009 02:16 PM |
| Переименование нескольких файлов | dhiren_shah | UNIX для чайников Вопросы И Ответы | 2 | 09-12-2008 02:23 AM |
| Переименование нескольких файлов | rmayur | UNIX для чайников Вопросы И Ответы | 6 | 02-26-2004 04:40 AM |
| Переименование нескольких файлов | jxh461 | Shell программирование и сценарии | 4 | 04-01-2003 07:25 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Переименование файлов (файлы)
Привет,
У меня есть каталог с файлами такими именами, как ABC20090101AXY.txt, ABC20090102BZ.txt, ABC20090101COF.txt т.д. цифры в именах файлов представляет собой дату. Я хочу, чтобы переименовать файл AXY.txt, BZ.txt и COF.txt Я попытался с настоящим Кодексом. Дата MyFile \u003d 'ABC +% Y% M% D' Я в *. TXT делать М. В. $ I `Эхо $ I | SED 'S / $ MyFile / /' ` готово Но ее предоставления сообщение М. В.: ABC20090101AXY.txt и ABC20090101AXY.txt идентичны Может у мне помочь найти эту проблему. Привет, Shekhar |
|
||||
|
Привет, Переменные внутри корпуса''не расширены. Поэтому здесь Код:
mv $i `echo $i | sed 's/$myfile//'` $ MyFile не будет заменен на "дату 'ABC +% Y%% M D'". Любое использование "..." или нет SED на всех. Shell встроенные модули являются достаточно. Попробуйте следующее: Код:
mv $i ${i/200[7-9][0-1][0-9][0-3][0-9]/}
HTH Крис |
|
||||
|
Попробуйте это
MyFile \u003d $ (дата 'ABC +% Y% M% D') Я в *. TXT делать М. В. $ I `Эхо $ I | SED "S / $ MyFile / /" ` готово Я thik U didn't использование назад ТИКС или $ (), чтобы установить переменную MyFile. расходовать $ MyFile использования "вместо" Я попробовал этот A \u003d $ (дата 'ABC +% Y% M% D') Эхо ABC20090103AXY.txt | SED 'S / $ A / / G' ABC20090103AXY.txt Эхо ABC20090103AXY.txt | SED "S / $ A / / G" AXY.txt Эхо '$ aABC20090103AXY.txt' | SED "S / $ A / / G" $ aAXY.txt Эхо '$ aABC20090103AXY.txt' | SED 'S / $ A / / G' ABC20090103AXY.txt |
|
||||
|
Цитата:
Код:
# ls -1 ABC20090101AXY.txt ABC20090101COF.txt ABC20090102BZ.txt # filerenamer.py -p "ABC\d+" -e "" -l "ABC*.txt" ==>>>> [ /home/ABC20090101COF.txt ]==>[ /home/COF.txt ] ==>>>> [ /home/ABC20090101AXY.txt ]==>[ /home/AXY.txt ] ==>>>> [ /home/ABC20090102BZ.txt ]==>[ /home/BZ.txt ] удалить "-л" делать фактическое переименование. |
|
||||
|
Предполагая, что "ABC20090102" строка фиксированной длины. И я использую SH корпуса. Код:
ls -1 *.txt | awk '{print "mv", $1, substr($1,12) }' | sh
Последний раз редактировалось freizl; на 01-05-2009 04:55 AM.. |
|
||||
|
Цитата:
Код:
awk '{ system("mv " FILENAME" " substr(FILENAME,1,12) )}' ABC*.txt
не проверял. |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|