The UNIX and Linux Forums  

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
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

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 01-02-2009
shekhar_v4 shekhar_v4 is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2009
Сообщений: 17
Переименование файлов (файлы)

Привет,

У меня есть каталог с файлами такими именами, как 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
Old 01-02-2009
in2nix4life's Avatar
in2nix4life in2nix4life is offline
Зарегистрированный пользователь
  
 

Регистрация: Oct 2007
Расположение: Восточное побережье
Сообщений: 58
Если у вас есть Perl установлена, это может помочь Вам:

на "Х" в *. TXT; делать MV $ X `Эхо $ X | Perl -PE 'S / ^ \ W + \ D +(.*)/$ 1 /' `; сделать

Надеюсь, что это помогает.
Old 01-02-2009
Кристоф Spohr Christoph Spohr is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2008
Сообщений: 205
Привет,

Переменные внутри корпуса''не расширены. Поэтому здесь


Код:
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 Крис
Old 01-03-2009
reddysiva reddysiva is offline
Зарегистрированный пользователь
  
 

Регистрация: Декабрь 2008
Сообщений: 11
Попробуйте это
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
Old 01-05-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Sep 2006
Сообщений: 2558
Цитата:
Первоначально Послано shekhar_v4 View Post
Привет,

У меня есть каталог с файлами такими именами, как 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
Если у вас есть Python и могут использовать его, вот это готовый сценарий Вы можете использовать. Примеры использования

Код:
# 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 ]

удалить "-л" делать фактическое переименование.
Old 01-05-2009
freizl freizl is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2008
Сообщений: 3
Предполагая, что "ABC20090102" строка фиксированной длины.
И я использую SH корпуса.


Код:
ls -1 *.txt | awk '{print "mv", $1, substr($1,12) }' | sh


Последний раз редактировалось freizl; на 01-05-2009 04:55 AM..
Old 01-05-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Sep 2006
Сообщений: 2558
Цитата:
Первоначально Послано freizl View Post
Предполагая, что "ABC20090102" строка фиксированной длины.
И я использую SH корпуса.


Код:
ls -1 *.txt | awk '{print "mv", $1, substr($1,12) }' | sh
Кроме того, нет необходимости использовать Ls и SH, с использованием переменной FILENAME

Код:
awk '{ system("mv " FILENAME" " substr(FILENAME,1,12) )}' ABC*.txt

не проверял.
Closed Thread

Закладки

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

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

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

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




Часовой пояс GMT -4. Текущее время 09:37 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