The UNIX and Linux Forums  
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.

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



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

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 04-10-2008
gstuart gstuart is offline
Regisztrált felhasználó
  
 

Join Date: Apr 2008
Hozzászólások: 16
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. :-)
  #2 (permalink)  
Old 04-11-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2007
Hozzászólások: 4.312
Idézet:
Originally Posted by gstuart View Post
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
...
Ezt kell tennie, hogy a kívánt teljesítmény:

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"
Üdvözlettel
  #3 (permalink)  
Old 04-11-2008
gstuart gstuart is offline
Regisztrált felhasználó
  
 

Join Date: Apr 2008
Hozzászólások: 16
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 :-)
  #4 (permalink)  
Old 02-06-2009
RickR RickR is offline
Regisztrált felhasználó
  
 

Join Date: Feb 2009
Hozzászólások: 1
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
  #5 (permalink)  
Old 06-07-2009
aenagy aenagy is offline
Regisztrált felhasználó
  
 

Join Date: Jun 2009
Hozzászólások: 1
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"

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.
  #6 (permalink)  
Old 02-06-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2005
Helyszín: Boston, MA
Hozzászólások: 5.122
Kód:
#!/bin/ksh

while read current new x
do
   mv "${current}" "${new}"
done < /path/to/lookupFile
  #7 (permalink)  
Old 05-23-2009
allrise123 allrise123 is offline
Regisztrált felhasználó
  
 

Join Date: May 2009
Hozzászólások: 9
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..
Reply

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 02:35 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0