LINUX.ORG.RU

find -size script


0

0

Dobriy den', vopros takoi mozhet kto podskazhet.

U menja derevo katalogov, nuzhno naiti vse txt files, i esli oni po razmeru men'she 70 b, zapisat' ix v drugoi file. Eto ja mogu sdelat' primerno tak v shell

find ./*/*/*/*.txt -size -70c > output.txt,

no esli file nachinaetsja so znaka %, ego zapisyvat' ne nuzhno. Podskazhete kak eto sdelat'?

Spasibo

Marina

anonymous

Ответ на: Re: find -size script от anonymous

Re: find -size script

Вы чего хотите добиться - чтобы файлы чьи имена начинаются с % не выводились или чтобы файлы, которые содержат % в качестве первого символа не выводились?

phoenix ★★★★ ()
Ответ на: Re: find -size script от phoenix

Re: find -size script

chtoby ne vyvodilis' fily, soderzhashie % v kachestve pervogo simvola

anonymous ()
Ответ на: Re: find -size script от phoenix

Re: find -size script

esli ja pishu tak, to on vse ravno zapisyvaet fily, kotorye v kachestve pervogo simvola teksta soderzhat %

#!/bin/sh

find . -name \*.txt -size -70c | grep -v -e "^\%" > output

anonymous ()
Ответ на: Re: find -size script от anonymous

Re: find -size script

$ find a
a
a/b
a/b/%2
a/b/c
a/b/c/d

$ find a -name "[^%]*"
a
a/b
a/b/c
a/b/c/d

Остальные ключи по вкусу.

io ★★ ()
Ответ на: Re: find -size script от sdio

Re: find -size script

find позволяет задавать логические операции над параметрами поиска:

find /mydir -name '*.txt' -and -not -name '%*' -and -size -70c

"-and" можно не писать.

amm ()
Ответ на: Re: find -size script от amm

Re: find -size script

>esli ja pishu tak, to on vse ravno zapisyvaet fily, kotorye v >kachestve pervogo simvola teksta soderzhat %
          ^^^^^^^^^^^^^^^^^^^^^^^^ - Прочти три раза                 
>
>#!/bin/sh
>
>find . -name \*.txt -size -70c | grep -v -e "^\%" > output
>
>anonymous (*) (22.04.2005 19:10:50)

В содержимое файла все равно надо лезть, так что одним find не обойтись

sdio ★★★★★ ()
Ответ на: Re: find -size script от amm

Re: find -size script

>esli ja pishu tak, to on vse ravno zapisyvaet fily, kotorye v 
>kachestve pervogo simvola teksta soderzhat %
          ^^^^^^^^^^^^^^^^^^^^^^^^ - Прочти три раза
>
>#!/bin/sh
>
>find . -name \*.txt -size -70c | grep -v -e "^\%" > output
>
>anonymous (*) (22.04.2005 19:10:50)

В содержимое файла все равно надо лезть, так что одним find не обойтись

sdio ★★★★★ ()
Ответ на: Re: find -size script от sdio

Re: find -size script

> Прочти три раза  

Понял со второго. :)

> В содержимое файла все равно надо лезть, так что одним find не обойтись

С помощью gawk:

find ... | xargs gawk '! /^%/ {print FILENAME; nextfile}'

Только пустые файлы не попадут в список (но их при необходимости можно найти 
отдельным find'ом).

amm ()
Ответ на: Re: find -size script от sdio

Re: find -size script

Точно, не досмотрел я немного.

amm ()
Ответ на: Re: find -size script от sdio

Re: find -size script

Spasibo Vam ogromnoe!!!! Eto rabotaet! Spasibo!

anonymous ()

Re: find -size script

find -not -name '%*' -size -70c > output.txt

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