The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > UNIX for Dummies Frågor & Svar
.
google unix.com



UNIX for Dummies Frågor & Svar Om du inte är säker på var att skriva en UNIX eller Linux fråga efter det här. Alla UNIX-och Linux-nybörjare välkomna!

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
awk Shell skriptfel: "Syntaxfel:" Split "oväntade Herry UNIX for Dummies Frågor & Svar 2 03-17-2008 11:16
fel under Upplaga: St9bad_alloc - Att få detta fel när du använder vissa omställning Progr sathu_pec Shell-programmering och Skript 1 01-21-2008 02:38
Jag fick fel som ... syntaxfel på linje 1, teletype koti_rama UNIX för avancerade & Expertanvändare 2 07-07-2007 08:35
Fel vid läsning av avsnitten fel vid installation doelman Sun Solaris 2 02-05-2007 12:21
Fel: Internt systemfel: Det går inte att initiera standard utdatafilen firkus UNIX for Dummies Frågor & Svar 2 10-25-2005 04:23

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 05-13-2008
gyankr gyankr is offline
Registered User
  
 

Join Date: Jan 2008
Inlägg: 2
awk fel

Hej alla,

Jag har filerna i följande ordning:

fancy_LANG_STD_AU_2008-03-05.dat
fancy_LANG_STD_HK_2008-03-06.dat
fancy_LANG_STD_NZ_2008-03-05.dat
fancy_STD_AU_2008-03-05.dat
fancy_STD_HK_2008-03-06.dat
fancy_STD_NZ_2008-03-05.dat

Jag försöker sortera dem som nedan:

fancy_STD_AU_2008-03-05.dat
fancy_LANG_STD_AU_2008-03-05.dat
fancy_STD_HK_2008-03-06.dat
fancy_LANG_STD_HK_2008-03-06.dat
fancy_STD_NZ_2008-03-05.dat
fancy_LANG_STD_NZ_2008-03-05.dat

skriptet visar ungefär så här
Kod:
local flist="$@"
local filelist=`echo $flist | awk '{
while (++i<=NF) {
split($i,x,"_");
y=(x[2]=="LANG")?4:3;
print x[y],y,$i}
}' | sort -t"-" +1 +2 | awk '{print $3}'`;
Jag har ett litet problem, när antalet filer som ska sorteras ökar, jag får ett felmeddelande liknande nedan

: Inmatningsraden FANCY_LANG_STD_AU_20 kan inte vara längre än 3000 byte.


Jag använder HP-UX och gapa verkar inte work.Any workaround.I antar att det finns en "luckan" kommandot men inte säker på om det kommer att uppfylla mina behov.

Alla tankar?

Hälsningar,
Raju

Senast redigerad av Yogesh Sawant; 05-13-2008 vid 10:08.. Orsak: lagt till kod taggar
  #2 (permalänk)  
Old 05-13-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: februari 2004
Ort: NM
Inlägg: 5.763
Det finns en gräns för kommandorad storlek. gawk har ingenting att göra med det. Placera din insats filnamn i en fil vår användning ls direkt:

Kod:
local filelist=`ls fancy*.dat | awk '{
while (++i<=NF) {
split($i,x,"_");
y=(x[2]=="LANG")?4:3;
print x[y],y,$i}
}' | sort -t"-" +1 +2 | awk '{print $3}'`;
  #3 (permalänk)  
Old 05-13-2008
Shamrock shamrock is offline Forum Advisor  
Registered User
  
 

Join Date: oktober 2007
Ort: USA
Inlägg: 750
Timtowtdi

Den maximala storleken på en inmatningsraden begränsas av LINE_MAX. getconf LINE_MAX talar om hur länge en inmatningsraden kan.

Kod:
ls -1 fancy* | \
awk -F"LANG_" '{
    if (NF==2)
       p[$1$2]=$0
    else
       q[$0]
} END {
  for (i in q)
      printf("%s\n%s\n", i, p[i])}'
  #4 (permalänk)  
Old 05-15-2008
gyankr gyankr is offline
Registered User
  
 

Join Date: Jan 2008
Inlägg: 2
ett annat fel

lokala flist \u003d"$@"
lokala tempfile \u003d `echo $ flist"
lokala Filelist \u003d `cat $ tempfile | awk '(
medan (+ + i <\u003d NF) (
split ($ i, x ,"_");
y \u003d (x [2] \u003d\u003d "lang")? 4:3;
print x [y], y, $ i)
) '| Sort-t "-" 1 2 | awk' (print $ 3) ' ";

Nu är jag få kan inte öppna filen fancy_LANG_STD_AU_2008-03-05.dat ingen sådan fil eller katalog ....

???
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 11:36.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0