LINUX.ORG.RU

find

 


1

1

помогите разобраться с синтаксисом команды find. find [где ищем], [тип файла], [имя файла] правильно? просто я пытаюсь так и ничего не выходит... значит что=то не то делаю, но что именно?


Ответ на: комментарий от crutch_master

можете на пальцах? find [ / ~ ] это каталоги , в которых ищем... так? -type [тип файла] -name имя файла например find / -type d -name src будет поиск в корне , папки с именем src... так?

linuxpc
() автор топика

man find, там всё подробненько написано. если вкрации, то

find [где] [условия]
напр.:
find -type f
найдёт все файлы в текущем каталоге и его подкаталогах,
mkdir conf && find ~ -name '*.conf' -exec cp '{}' conf \;
найдёт все файлы *.conf в директории пользователя и скопирует их в папку ./conf, предварительно создав её.

anonymous
()

find имеет марсианский синтаксис и в современных шеллах необходимость в нём стремительно приближается к нулю

zolden ★★★★★
()

помогите разобраться с синтаксисом команды find.

man find

anonymous
()

У find есть свой язык запросов, весьма мощный.

$ find -name AA -or -name BB -and -size 1
./BB
./AA
$ find -name AA -or -name BB -and -size 2
./AA
$ find \( -name AA -or -name BB \) -and -size +0
./BB
$ ls -la AA BB
-rw-r----- 1 legolegs legolegs   0 авг 24 19:59 AA
-rw-r----- 1 legolegs legolegs 512 авг 24 20:00 BB

Какие бывают выражения для поиска и что означет «2» прочтёшь в мане.

legolegs ★★★★★
()
Последнее исправление: legolegs (всего исправлений: 1)
Ответ на: комментарий от linuxpc

Заменить foo на bar во всех txt файлах(независимо от регистра, то есть txt/Txt/txT и так далее) изменённых 3 дня назад, в этой и поддиректориях

sed -i 's/foo/bar/g' (#i)**/*.txt(m3) 

zolden ★★★★★
()
Ответ на: комментарий от zolden

А изменённые со среды на пятницу и кроме тех, что с «do not touch» в пути?

legolegs ★★★★★
()
Ответ на: комментарий от Deleted

привет... вот начинаю есть например куча директорий, которые я создал в домашнем каталоге. пусть они будут такими: mkdir {01..20} теперь я хочу удалить все паки в которых есть первая цифра 1. find ~ -type d -name " * 1" | hargx rm ну и почему -то не выходит

linuxpc
() автор топика
Ответ на: комментарий от linuxpc

" * 1"

Убери пробелы вокруг * — найдет. Но выругается на неизвестную команду hargx.

dexpl ★★★★★
()
Последнее исправление: dexpl (всего исправлений: 1)
Ответ на: комментарий от linuxpc

теперь я хочу удалить все паки в которых есть первая цифра 1. find ~ -type d -name " * 1"

Ну так ваше " * 1" означает, что имя должно начинаться на пробел, потом любое,в том числе нулевое количество символов и в конце пробел и единичка. Это именно то что вам надо?

vodz ★★★★★
()
Ответ на: комментарий от linuxpc

теперь я хочу удалить все паки в которых есть первая цифра 1

Kак уже сказали, маска неправильная, утилита зовется xargs а не hargx, а еще rm нужен ключ -r или -rf.

Deleted
()
Ответ на: комментарий от Deleted

а еще rm нужен ключ -r или -rf.

И тогда уж -maxdepth 1, а заодно -print0 и xargs -0

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 1)
Ответ на: комментарий от linuxpc

ребята, работает, но удаляет лишь те единицы, которые стоят вторыми. 10 11 12 итд не тронуты. как это исправить?

linuxpc
() автор топика
Ответ на: комментарий от legolegs

теперь удалила все первые однерки, но вторые не тронула. как задать этому скрипту аргумент на то чтобы были удаленны и первые однерки и вторые? можно через запятую?

linuxpc
() автор топика
Ответ на: комментарий от anonymous

/то удалит все объекты с 1 в имени, включая блаблбалбалаблабалбалаблаба1. ТС не в состоянии внятно оббъянить, что ему надо, возможно это -name '1*' -or -name '?1*'

legolegs ★★★★★
()
Ответ на: комментарий от legolegs

да все правильно , нужно же было удалить все объекты с 1, первая моя писанина удаляла лишь те файлы , у которых однерка стоя спереди.... а там где она стояла второй, те объекты не были удалены. ну например 14 удалялась, а 41-нет. потом подсказали и теперь все ок)))

linuxpc
() автор топика
Ответ на: комментарий от f1u77y

-exec вызывается на каждый найденный объект, тогда как xargs обрабатывает весь массив найденных объектов. Такая экономия ресурсов и скорость обработки, ваш КО

bass ★★★★★
()
Ответ на: комментарий от f1u77y

Точно, негодный из меня КО.

Ушёл обновлять памятки

bass ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.