![]() |
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| A UNIX a dummies Kérdések és válaszok Ha nem biztos benne, hogy hol osztályozhatom Unix vagy Linux kérdés, post it here. Minden UNIX és Linux newbies welcome! |
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| Rekurzív FTP - itt végül. | Perderabo | Shell programozás és Scripting | 52 | 03-25-2009 12:15 PM |
| rekurzív grep kérdés | Mace | A UNIX a dummies Kérdések és válaszok | 1 | 08-11-2006 08:39 AM |
| rekurzív grep? | alan | A UNIX a dummies Kérdések és válaszok | 3 | 08-22-2003 04:15 AM |
| grep recursive könyvtárak | jagannatha | A UNIX a dummies Kérdések és válaszok | 8 | 07-24-2003 05:00 PM |
| Rekurzív FTP | aslamg | A UNIX a dummies Kérdések és válaszok | 1 | 03-08-2001 04:27 AM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
Rekurzív grep
Helló,
Első alkalommal utáni - Én nem formális képzés és unix jönne egy kis segítség ezzel. Van egy lista a karakterláncok a fájl1 hogy szeretnénk használni, hogy egy rekurzív keresés (grep) egy adott könyvtárban. Íme egy példa a string tudok keresni: / directory / dire ctory / directory / dire ctory / filename Próbálom azt mutatják, hogy a karakterlánc teljes könyvtár elérési útját a fájl, ha néhány, a könyvtárakat, hogy a terek, a nevüket. Aztán a következő szkript: A h "macska fájl1" do grep-rl "$ h" /../../../../../>> /../../ fájl2; tenni Szóval, próbálom mondani minden karakterlánc a fájl1, nem egy rekurzív grep a megadott könyvtárba, és nyomtassa ki az eredményeket fájl2. A probléma (azt hiszem) én fut be a format a string Én keresés, a macska csinálok is kezelik, mint a terek, amelyek selyemfonó menekül a grep ki. Megpróbáltam hozataláért a string az egy-és kétágyas quotes de ez még mindig nem működik. Elnézést a hiányos műszaki terminológia - Remélem, egyértelmű volt elég. Ha bárki bármilyen segítséget tud nyújtani arra, hogy ez meg mi van, vagy egy egyszerűbb alternatívája, amit én is, lenne egy nagy segítség. Thanks - upstate fiú |
|
||||
|
Kód:
find /path/to/search/in -type f | \
while read filename
do
grep -f /path/to/strings.txt $filename
done > /home/upstate_boy/results.txt
grep-f <file> azt jelenti, hogy a strings in <file> A keresési karakterlánc a grep. A Kész> filename részét írja a kimenet a hurok a fájlnév Last edited by jim McNAMARA; 05/16/2008 at 10:07 AM.. |
|
||||
|
A relatív elérési útját fájl2 tűnik rossz, az output redirection is relatív, hogy az aktuális könyvtárban, és nem a könyvtár a fájl van grepping. A relatív pat Ön grepping tűnik, rossz is; / .. / egyenlő / azonos /../../../../../ A backticks az a hurok vannak, amit nem bontja fel a dolgot whitespace. Használjon olyan konstrukció, amely kevésbé érzékeny a távolság kérdése, vagy használja a megfelelő idézve. Kód:
for h in "`cat file1`"; do grep -rl "$h" pathtodir >>file2; done vagy Kód:
while read h; do grep -rl "$h" pathtodir >>file2; done<file1 |
|
||||
|
Köszönjük, hogy mind a válaszok. Nem hiszem, hogy én vagyok a végrehajtó javaslatokat helyesen, próbáltam minden 3.
Jim, Én határozottan zavarba mely fájlok, ahová amikor elolvastam a tiéd. vállalnak: strings.txt \u003d fájl karakterláncokat akarok találni results.txt \u003d kimeneti fájl a keresési eredmények Próbálom: Keresés / directory / I / szeretnénk / search /-type f | \ miközben olvasni results.txt tesz grep-f strings.txt $ results.txt kész Amikor használja ezt, azt kapjuk: helyesen: "results.txt" nem érvényes azonosító korszak Én nem kaptam meg a hibákat, de javaslatokat strings I'm keresünk még tört ki, vagyis azok a terek, vagy "/" a karakterláncok is kezelni szünetek fordulópontot 1 karakterlánc több kis strings, hogy minden kezd keresni. Egy jobb példa arra, amit eredetileg próbál tennie: H a "macska strings.txt" do grep-rl "$ h" / directory / path / akarok / a / search />> / home / directory / results.txt; tenni segítségével /../../ az eredeti hozzászólás nem volt a legjobb választás a magam részéről, ha azok egyenértékű vissza a kullancsokat. Elmegyek, hogy továbbra is hegedűtok minden javaslatot, ha bármilyen további iránymutatást kínálhat lenne nagy segítség. Köszönet upstate fiú |
|
||||
|
I've changed it to:
Keresés / directory / I / szeretnénk / search /-type f | \ miközben olvasni fájl tesz grep-f strings.txt $ results.txt kész Eredmények jelenleg a következők: grep:. txt: Nincs ilyen fájl vagy könyvtár Tud valaki pontosan meg pontosan, hogyan kell ezt a példát alapul, amit használ? Köszönet upstate fiú |
![]() |
| Könyvjelzõk |
| Címkék |
| grep, grep rekurzív, rekurzív grep |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|