![]() |
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.
|
|
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 |
| Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt. |
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 |
| Perl: Keressen string a sor, akkor a keresés és a helyébe szöveg | Crypto | Shell programozás és Scripting | 4 | 01-04-2008 10:24 AM |
| Kell cserélnie az összes esemény a keresési karakterláncot használ sed | mjs3221 | Shell programozás és Scripting | 2 | 12-07-2006 02:09 AM |
| String Keresés és csere | IwishIknewC | A UNIX a dummies Kérdések és válaszok | 1 | 03-25-2006 06:28 AM |
| Keresés és csere string között 2 pont | whited05 | Shell programozás és Scripting | 3 | 10-11-2005 03:05 PM |
| string keresés csere | krishna | A UNIX a fejlett és szakértői Felhasználók | 1 | 12-19-2001 01:49 PM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
Keressen, cserélje ki a karakterlánc fájl1 a karakterlánc a (lookup table) fájl2?
Hello: Van egy másik kérdés. Kérjük, vegye figyelembe a következő két minta, tab tagolt fájlok:
File_1: Abf1 YKL112w Abf1 YAL054c Abf1 YGL234w ACE2 YKL150w ACE2 YNL328c Cup9 YDR441c Cup9 YDR442w Cup9 YEL040w ... File 2: ... ABF1 YKL112W ACE2 YLR131C CUP9 YPL177C ... File_2 egy "lookup table;" Azt akarom cserélni $ 1 File_1 a megfelelő 2 $ területen File_2, továbbá hozzá egy középső oszlop, amely tartalmazza a string "tf", és egy oszlop az "egyek" ( "1" az első oszlopban pozíció), minden lapon tagolt. Ezen kívül lenne ideális, ha az ügy lehet figyelmen kívül kell hagyni a keresés / csere, de az ABC-kimenet minden nagybetűs [az] alakítja [AZ]. Tájékoztatásul, ezek a gének élesztő, ezenkívül a számok és betűk, néhány gént tartalmaz kötőjelet (pl. YBR162W-A), de egyik sem tartalmaz majd vessző, pontosvessző, szóköz, stb Kimenet File_3: 1 YKL112W tf YKL112W 1 YKL112W tf YAL054C 1 YKL112W tf YGL234W 1 YLR131C tf YKL150W 1 YLR131C tf YNL328C 1 YLR131C tf YLR439W 1 YPL177C tf YDR441C 1 YPL177C tf YDR442W 1 YPL177C tf YEL040W ... Ennek oka, hogy (de eltérő) my korábbi lekérdezés, Molekuláris biológus igényel segítséget Re: search / Replace script Itt az első oszlop egy "dummy" súly érték, ahhoz, hogy "mező kompatibilitás," az én korábbi kép, amint a következő példa: 1 a b gi 1 a pp a 1 a pp c 1 t gi u 1 t gi w 1 x gi t 1 t pp z 2 a pp d 2 a pp e 2 t gi v 2 t gi z 3 a b pp 3 t gi y ... Végül is, én végül egy dokumentációt, mint ez, a $ 1 \u003d tömeg, gene1 \u003d $ 2, $ 3 \u003d szövetség, $ 4 \u003d gene2: 1 YKL112W tf YKL112W 1 YKL112W tf YAL054C 1 YKL112W tf YGL234W 1 YLR131C tf YKL150W 1 YLR131C tf YNL328C 1 YLR131C tf YLR439W 1 YPL177C tf YDR441C 1 YPL177C tf YDR442W 1 YPL177C tf YEL040W ... 1 YBL012C gi YCL045C 1 YBL012C pp YBL012C 5 YBL012C pp YHR039C-A 1 YLR363W-GI YNL143C A 4 YLR363W-GI YPR123C 1 YLR363W-GI YLR467W 1 YLR363W-A pp YNR073C 2 YBL012C pp YGL232W 2 YBL012C pp YOR102W A 2 YLR363W-GI YFL066C A 2 YLR363W-GI YNR073C 3 YBL012C pp YCL045C A 3 YLR363W-GI YKL100C ... Thank you - Még egyszer, * nagyon * much appreciated! Tisztelettel, Greg S. :-) |
|
||||
|
Idézet:
Kód:
awk '
FNR==NR{a[tolower($1)]=$2;next}
tolower($1) in a{print "1 " a[tolower($1)] " tf " toupper($2)}
' "File_2" "File_1"
|
|
||||
|
Ez teljesen csodálatos! ... :-)
Itt van a megértése Franklin52 kódja: Unix Kézikönyvek - AWK Reference # \u003d\u003d Az "egyenlő" tolower (string): Visszatérés a string minden nagybetűs karakterek helyett azok kisbetűs helyettesíthető. toupper (string): Visszatérés a string minden kisbetűs karakterek helyett a nagybetűs helyettesíthető. FNR: Record szám bemeneti fájlban. NR: Rekordok száma dolgozni. Ezért a fent említett script fordítja (? - Kérlek javíts ki, ha tévedek), mint az awk ' FNR \u003d\u003d NR (a [tolower ($ 1)] \u003d $ 2;) next miközben a rekord számát (tétel) értéke az összes nyilvántartás (igaz), akkor az összes következő: get $ 1 ( "a közös gén nevét - konvertálja a kisbetű - szükséges, mivel a megfelelő területet File_1 van kisbetűvel, ellenkező esetben nem fognak" match "- linux kis-és nagybetűk) a lookup file (File_2), set (cseréld ki ) a (már nagybetűs) rendszeres gén neve ($ 2) ugyanabban a feloldó táblára, majd olvassa el a következő rekord számú (sor); tolower ($ 1) egy (print "1" a [tolower ($ 1)] "TF" toupper ($ 2)) Most minden $ 1 File_2 (most beállítva nagybetű $ 2, a lookup táblázat), a második fájlt (File_1, az egyik meg kell átalakítani), a nyomtatási "1", 2 $-tól File_2; "tf", 2 $-tól File_1 (vissza a nagybetűs, átalakítani a záró kisbetűs c, w,-a, stb) ' "File_2" "File_1" File_1 \u003d fájl feldolgozása (átalakított) File_2 \u003d "lookup file" ( "common_to_systematic.tab) ? Ez ragyogóan működik!! Köszönöm szépen, Franklin52!? Volna egy szuper hétvégét! ... Greg :-) |
|
||||
|
Több fájl átnevezése egy keresőtáblázatot
Lehet-e módosítani a fenti szkriptet, nevezni a fájlokat alapuló lookup table?
pl: Jelenlegi Új A87324.jpg A1372365.jpg A89732.jpg A98274.jpg A130347.jpg A73689.jpg ... Köszönöm, Rick |
|
||||
|
Idézet:
Próbálom, hogy módosítsa a fenti kódot egy hasonló helyzetben. Nekem van két bemeneti fájlt. Az első fájl (adatrögzítők) egy CSV barátságos neveket az első oszlop és UUIDs a második oszlopban. A második fájl (VM) egy lista a fájlok teljes elérési útját használja a UUID. Például: ----- ----- Datastores.csv rövid név 1, UUID1 rövid név 2, UUID2 rövid név 3, UUID3 stb ----- ----- Datastores.csv ----- ----- VMs.txt / folder/UUID3/vm1.vmx / folder/UUID2/vm2.vmx / folder/UUID1/vm3.vmx / folder/UUID3/vm4.vmx stb ----- ----- VMs.txt What I am looking for a kimenetre, hogy így néz ki: ----- ----- Output.txt / mappa / barát neve 3/vm1.vmx / mappa / barát neve 2/vm2.vmx / mappa / barát neve 1/vm3.vmx / mappa / barát neve 3/vm4.vmx stb ----- ----- Output.txt A mintát awk nem intuitív számomra, sőt elolvasása után a másik magyarázatot, és megy át a O'Rielly zseb referencia. Esetében az egyik input, nem kell megváltoztatni - ha probléma van az esetek párja akkor én van más kérdésekkel foglalkozik. Köszönöm a segítséget előre. |
|
||||
|
hi guys!!
Én vagyok az új shell szkript .. Szeretném tudni, abt sed parancsot, és hogyan működik? Itt van, mit akarok csinálni, azt akarom keresni az eredeti karakterlánc export.txt fájlt, amely a következő: export MIBs \u003d \ opt \ mymibs \ Azt akarom, hogy azt váltsák fel export MIBs \u003d \ opt \ new_mibs \ Kérem, segítsen vele thanks in advance Last edited by allrise123; 05-23-2009 at 05:17 PM.. |
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|