Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Операционные системы > Linux (Ubuntu, Debian, Red Hat, CentOS, Mint)
Регистрация

Восстановить пароль
Повторная активизация e-mail


Присылайте нам Донат :), напишите за что прислали )


Ответ
 
Опции темы
Старый 23.04.2019, 00:19   #1
v4567
Форумчанин
 
Регистрация: 06.07.2008
Сообщений: 88
Репутация: 39
По умолчанию Find найти сразу файлы и папки

Не работают следующие виды объединений в find:
Код:

find . -type f d
find . -type f -type d
find . -type f -o -type d
find . \( -type f -o -type d \)

Как быть если надо сразу найти (две команды подряд не вариант) и файлы и папки, но не ссылки?
v4567 вне форума   Ответить с цитированием
Старый 23.04.2019, 00:34   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,096
Репутация: 2428
По умолчанию

Сделать ! отрицание на ссылки.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 23.04.2019, 00:40   #3
v4567
Форумчанин
 
Регистрация: 06.07.2008
Сообщений: 88
Репутация: 39
По умолчанию

Мне надо найти все виды файлов кроме директорий и ссылок. Отрицание не поможет.
Нужно типа:
Код:

find . -type f -type b -type c -type p -type s

Извиняюсь за неправильно поставленный вопрос.
v4567 вне форума   Ответить с цитированием
Старый 23.04.2019, 00:47   #4
v4567
Форумчанин
 
Регистрация: 06.07.2008
Сообщений: 88
Репутация: 39
По умолчанию

И сразу в догонку можно ли при помощи find получить название не самой ссылки, а файла или папки на который она указывает, даже если их нет в наличии (битая ссылка)? Всё что удалось найти в мане, вот такой
вариант:

Код:

find -L "/dir" -type -l

но он не работает.
Вот такой код выдаёт перечень всех файлов:
Код:

find -L "/dir"

Надо сравнить в двух директориях не сами названия ссылок, а куда они указывают, даже если файла или папки на которые они указывают нету. Потом найти одинаковые и вывести уже названия самих ссылок, а не то куда они указывают.

Я уже решил эту задачу но через массивы. Всё работает но когда файлов и ссылок несколько сотен тысяч, то запись в массив, потом сравнение, потом вывод с массива затягивают работу скрипта минут на сорок.
Можно ли как то обойтись без массивов?Если обойтись без массивов, просто какими то бинарными командами, то всё я думаю сократиться до секунд, ну может быть минут.
v4567 вне форума   Ответить с цитированием
Старый 23.04.2019, 01:28   #5
v4567
Форумчанин
 
Регистрация: 06.07.2008
Сообщений: 88
Репутация: 39
По умолчанию

Извиняюсь я уже сдурел, мозги взрываются.
Действительно вот такая конструкция работает:
Код:

find . \( -type f -o -type b -o -type c -o -type p -o -type s \) -printf '%f\n'

Есть две директории со вложенными директориями внутри, расположенные в разных местах, например одна
прямо в корне /dir, а вторая в папке пользователя /home/user/dir

В них есть ссылки которые ссылаются внутри этих директорий (относительные пути) на файлы и папки, из этих файлов и папок некоторые могут быть, а некоторых может и не быть (битые ссылки). Надо найти ссылки которые ссылаются на одинаковые файлы (относительный путь и название файла) и одинаковые папки (относительный путь и название папки), даже если некоторые из этих ссылок будут битые. И вывести названия этих ссылок и битых то же, именно ссылок а не название файлов и папок на которые они ссылаются.
v4567 вне форума   Ответить с цитированием
Старый 23.04.2019, 01:29   #6
v4567
Форумчанин
 
Регистрация: 06.07.2008
Сообщений: 88
Репутация: 39
По умолчанию

В конце это я более вразумительно изложил задачу про ссылки.
v4567 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Папки и файлы SUPER123 Win Api 8 04.09.2013 15:18
Файлы и папки X@OC Общие вопросы Delphi 2 13.09.2011 21:18
редактировать все файлы сразу в linux NiCola999 Общие вопросы C/C++ 4 25.03.2010 23:22
Запуск программы сразу после открытия папки artemavd Общие вопросы Delphi 16 25.08.2009 08:41
Макрос. Найти текущую дату в колонке через Find Leanna Microsoft Office Excel 5 19.12.2008 18:06


01:24.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru