Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Можно ли вывести только имена файлов?

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix
Предыдущая тема :: Следующая тема  
Автор Сообщение
Кирилл_
Гость





СообщениеДобавлено: Пн Май 31 2004 15:30    Заголовок сообщения: Можно ли вывести только имена файлов? Ответить с цитатой

Помогите, пож-ста. Можно ли из директории вывести только имена файлов , но не выводить имена поддиректорий ?
Заранее спасибо !
Вернуться к началу
pdp11



Зарегистрирован: 13.10.2003
Сообщения: 19

СообщениеДобавлено: Пн Май 31 2004 22:35    Заголовок сообщения: Ответить с цитатой

Что-нибудь типа:

for fname in `ls -R *`
do
if [ -f $fname ]; then
echo $fname
fi
done
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dmitry.Karpov



Зарегистрирован: 30.11.2003
Сообщения: 415
Откуда: Moscow

СообщениеДобавлено: Чт Июн 03 2004 16:18    Заголовок сообщения: Ответить с цитатой

Я бы сделал конвейер через пайпы.
Сначала ls выводит список файлов вместе с атрибутами.
Затем grep выбирает нужне файлы по первому символу ("-" - обычный файл, "d" - директория, "c" или "b" - файл устройства, "l" - символьный линк).
После этого sed выкидывает всё, кроме имени файла.

PS: Список директорий получить проще: по маске "*/.".
_________________
Благословен Бог, сотворивший меня сисадмином!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ryabinkin



Зарегистрирован: 01.12.2003
Сообщения: 152
Откуда: Moscow

СообщениеДобавлено: Чт Июн 03 2004 21:05    Заголовок сообщения: Ответить с цитатой

find . -type f -exec basename {} \;
_________________
Из двух спорящих виноват тот, кто умнее.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dmitry.Karpov



Зарегистрирован: 30.11.2003
Сообщения: 415
Откуда: Moscow

СообщениеДобавлено: Пт Июн 04 2004 13:31    Заголовок сообщения: Ответить с цитатой

ryabinkin писал(а):
find . -type f -exec basename {} \;

А вот find станет залезать в поддиректории, если я правильно понимаю.
_________________
Благословен Бог, сотворивший меня сисадмином!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ryabinkin



Зарегистрирован: 01.12.2003
Сообщения: 152
Откуда: Moscow

СообщениеДобавлено: Пт Июн 04 2004 17:40    Заголовок сообщения: Ответить с цитатой

Блиин, вот спросят так спросят... Я еще 3 раза прочитал вопрос, но так и не понял, какой вариант правильный
Что спрашивается?
1. хочется выводить имена только регулярных файлов, но не директроий в заданной директроии и всех ее поддиректориях?
2. только имена регулярных файлов данной директории?

На первый вопрос я ответ дал.
Вот ответ на второй
for i in * ; do if [ -f $i ]; then echo $i ; fi; done
_________________
Из двух спорящих виноват тот, кто умнее.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...