Модераторы: powerfox, ZeeLax

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с sh, несколько вопросов по скриптам. 
:(
    Опции темы
Breezend
Дата 29.10.2006, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



Доброго времени суток.

Как перевести у указанного файла расширение из верхнего реестра в нижний учитывая ситуацию когда файл с расширением в нижнем реестре может существовать. Написал как изменить все расширения с верхнего на нижний   smile  . А как только у данного файла ? 
 
Как написать программу выводящую содержимое каталога упорядоченному по времени последнего изменения (старые вперед)

З.Ы. советы ценятся больше чем готовый код  smile  
Спасибо smile 
PM MAIL   Вверх
nickless
Дата 29.10.2006, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 41
Всего: 181



Цитата(Breezend @ 29.10.2006,  19:36)
Как перевести у указанного файла расширение из верхнего реестра в нижний учитывая ситуацию когда файл с расширением в нижнем реестре может существовать.

Что нужно сделать если такой файл существует?

Цитата(Breezend @ 29.10.2006,  19:36)
Как написать программу выводящую содержимое каталога упорядоченному по времени последнего изменения (старые вперед)

ls -tr

Советы: man rename && man ls  smile 

Это сообщение отредактировал(а) nickless - 29.10.2006, 21:00


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
Breezend
Дата 29.10.2006, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



выдать предупреждение и запросить новый ввод.

Цитата

ls -tr

 smile 

Эээ smile наверное не  досказал - включая дерево подкаталогов этого каталога.
PM MAIL   Вверх
MAKCim
Дата 29.10.2006, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 21
Всего: 207



Цитата

Как перевести у указанного файла расширение из верхнего реестра в нижний учитывая ситуацию когда файл с расширением в нижнем реестре может существовать. Написал как изменить все расширения с верхнего на нижний   smile  . А как только у данного файла ? 

Код

#!/bin/bash

# Name of file. First argument in script call
FILE=$1

NAME="`basename $FILE`"

[ `echo $NAME | grep "\."` ] || echo "No extension" && {
    HEAD=`echo $NAME | cut -d '.' -f1`
    TAIL=`echo $NAME | cut -d '.' -f2 | tr "[A-Z]" "[a-z]"`
    [ -f "${FILE=$HEAD.$TAIL}" ] || mv $NAME $FILE
}


Добавлено @ 22:07 
Цитата

Эээ smile наверное не  досказал - включая дерево подкаталогов этого каталога. 

Рекурсивно


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Breezend
Дата 31.10.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



что-то мне не верится что настолько легкое задание (второе). 
Вот его дословный перевод: 
Составить программу которая бы показывала находящиеся в под(дереве?)/подветви? находящиеся файлы упорядоченные по времени изменения начиная со старых.

ls -tRr ???   
PM MAIL   Вверх
bilbobagginz
Дата 31.10.2006, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



видимо.
а на каком языке - оригинал ?




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Breezend
Дата 31.10.2006, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



Эстонский.
PM MAIL   Вверх
bilbobagginz
Дата 31.10.2006, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



блин, трудно бы было мне, если бы я получал задачки на эстонском. 
один раз слышал язык, ну просто НИ ФИГА не понял. 
типа как венгерский, только с другим произношением.

а нельзя препода спросить: настолько ли проста задача ? по имейлу например....


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Breezend
Дата 1.11.2006, 06:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



угу отправил давно уже. Хотя спросил у друга эстонца он так же перевел. НО не верю что ЭТО 1/3 зачета.  smile  
PM MAIL   Вверх
nickless
Дата 1.11.2006, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 41
Всего: 181



А может задача состоит как раз в том, чтобы самому написать то, что обычно делает ls?


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
Breezend
Дата 1.11.2006, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



задача в том чтобы реализовать рекурсию не через ls.  Вместо полного имени выводить полный путь.
PM MAIL   Вверх
Breezend
Дата 2.11.2006, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



как создать помощь? то есть a.sh -help чтобы выводил что-либо
if ["$1" == "-help"] это как подсказывает шелл не то smile 

З.Ы. по рекурсии. 
 как в цикле просмотреть директории которые глужбе и указать полный путь файла
for i in $1; do 
if -f $i; then 
  echo blabla 
elif -d $i ???????
PM MAIL   Вверх
nickless
Дата 2.11.2006, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 41
Всего: 181



Цитата(Breezend @ 2.11.2006,  20:15)
как создать помощь? то есть a.sh -help чтобы выводил что-либо
if ["$1" == "-help"] это как подсказывает шелл не то smile 

Код

if [[ "$1" == "--help" ]] ; then ... fi


Цитата(Breezend @ 2.11.2006,  20:15)
как в цикле просмотреть директории которые глужбе и указать полный путь файла

Рекурсивно smile
Код

function list
{
    for i in "$1"/*; do
        if [[ -d $i]];
            list $i
        ...
}



--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
Бонифаций
Дата 2.11.2006, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 9
Всего: 40



Цитата(Breezend @  2.11.2006,  21:15 Найти цитируемый пост)
как создать помощь? то есть a.sh -help чтобы выводил что-либо
if ["$1" == "-help"] это как подсказывает шелл не то smile 

http://bama.ua.edu/cgi-bin/man-cgi?getopts+1

http://forum.od.ua/archive/index.php/t-3960.html

Добавлено @ 23:24 
Цитата(Breezend @  2.11.2006,  21:15 Найти цитируемый пост)
З.Ы. по рекурсии. 
 как в цикле просмотреть директории которые глужбе и указать полный путь файла


man find


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
Breezend
Дата 3.11.2006, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 30.3.2006

Репутация: нет
Всего: нет



а как вывести полный путь файла??? что-то не нашел этой команды 
PATH={$PWD/$i}  ????

как отсортировать файлы по дате последней модификации  без использования средств ls. Нашел команду stat и все что приходит на ум это сравнить 
if [ stat -mtime "$i" gt stat -mtime "$i"(а так можно?)]; then echo $(что дальше он должен вывести)

команда sort не хочет работать с директриями  smile 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0915 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.