Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: nalezeni souboru se skripty  (Přečteno 1343 krát)

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
nalezeni souboru se skripty
« kdy: 12 Listopadu 2010, 12:04:58 »
Potreboval bych na / najit vsechny soubory, ktere obsahuji bash, sh .... skripty.

Tento skript nefunguje:
Kód: [Vybrat]
find / -type f | while read F
do if [ "file "$F" | grep -o shell script text" = "shell script text" ]
then cp "$F" mnt/data/prechodne/skripty
fi
done

Edit: uz mi to funguje jen mi to pripadne dost zprasene a narocne na vykon. neslo by to jeste zjednodusit?
Kód: [Vybrat]
find / -type f  | while read F
do if [ "`file "$F" | grep -o "shell script text"`" = "shell script text" ]
then  cp "$F" /mnt/data/prechodne/skripty
fi
done
« Poslední změna: 12 Listopadu 2010, 12:31:54 od Uran »
"Pouze text v MS Wordu je opravdu čistý, příteli."

premet

  • Host
Re: nalezeni souboru se skripty
« Odpověď #1 kdy: 12 Listopadu 2010, 12:32:08 »
Mě funguje třeba tohle
Kód: [Vybrat]
find adresar -type f -exec egrep -l "#\!/bin/bash|#\!/bin/sh" '{}' \; -print

premet

  • Host
Re: nalezeni souboru se skripty
« Odpověď #2 kdy: 12 Listopadu 2010, 12:43:31 »
Navíc, když máš while read F a budeš mít adresář nebo soubor s delším názvem oddělený mezerou tak ti to nepůjde   :)

Kód: [Vybrat]
[prema@localhost ~]$ ls foo
ba r.sh  ba r.sh~  foo o.sh  foo o.sh~
Kód: [Vybrat]
[prema@localhost ~]$ find foo | while read line;do file $line; done
foo: directory
foo/foo: cannot open `foo/foo' (No such file or directory)
o.sh:    cannot open `o.sh' (No such file or directory)
foo/ba: cannot open `foo/ba' (No such file or directory)
r.sh:   cannot open `r.sh' (No such file or directory)
foo/foo: cannot open `foo/foo' (No such file or directory)
o.sh~:   cannot open `o.sh~' (No such file or directory)
foo/ba: cannot open `foo/ba' (No such file or directory)
r.sh~:  cannot open `r.sh~' (No such file or directory)

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
Re: nalezeni souboru se skripty
« Odpověď #3 kdy: 12 Listopadu 2010, 13:40:27 »
Navíc, když máš while read F a budeš mít adresář nebo soubor s delším názvem oddělený mezerou tak ti to nepůjde   :)

Kód: [Vybrat]
[prema@localhost ~]$ ls foo
ba r.sh  ba r.sh~  foo o.sh  foo o.sh~
Kód: [Vybrat]
[prema@localhost ~]$ find foo | while read line;do file $line; done
foo: directory
foo/foo: cannot open `foo/foo' (No such file or directory)
o.sh:    cannot open `o.sh' (No such file or directory)
foo/ba: cannot open `foo/ba' (No such file or directory)
r.sh:   cannot open `r.sh' (No such file or directory)
foo/foo: cannot open `foo/foo' (No such file or directory)
o.sh~:   cannot open `o.sh~' (No such file or directory)
foo/ba: cannot open `foo/ba' (No such file or directory)
r.sh~:  cannot open `r.sh~' (No such file or directory)

Jasny proto mam promene v ""

bon apetit!!
Kód: [Vybrat]
egrep -rIlm1 '^#!/' $cesta

Dekuji jsem si rikal ze se asi "skrabu levou nohou za levym uchem" :)
"Pouze text v MS Wordu je opravdu čistý, příteli."

premet

  • Host
Re: nalezeni souboru se skripty
« Odpověď #4 kdy: 12 Listopadu 2010, 13:45:39 »
....
Jasny proto mam promene v ""
A jo, tohle mě v tuhle chvíli vůbec nenapadlo  ::)

 

Provoz zaštiťuje spolek OpenAlt.