The UNIX and Linux Forums  


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
Eltávolítás whitespaces között vesszővel elválasztva mezők fájl nitinbjoshi A UNIX a dummies Kérdések és válaszok 2 06-14-2008 09:14 AM
Parse a string XML file shell script ayhanne Shell programozás és Scripting 46 01-09-2008 12:33 PM
Keresés a tartalom sok kép és a nyomtatási kép segítségével, hogy a shell script cdfd123 Shell programozás és Scripting 3 10-07-2007 11:17 PM
Hogyan lehet feldolgozni a külső változók config file shell script pradsh Shell programozás és Scripting 2 07-09-2007 03:21 PM
Szállítmány vesszővel elválasztott értékek egy tömb tmarikle Shell programozás és Scripting 3 06-24-2005 06:50 PM

Closed Thread
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 06-18-2008
KrishnaSaran KrishnaSaran is offline
Regisztrált felhasználó
  
 

Join Date: Jun 2008
Hozzászólások: 12
Unix shell script értelmezni az vesszővel elválasztott file

Dear All,

Van egy vesszővel elválasztott fájlt.
1. Az első sorban a fájl (fejléc) kell 4 vesszők (5 mezők).
2. Az utolsó sorban a fájlnak 1 vessző (2 mezők).

Pls segítsen nekem az ellenőrzés során ez a feltétel egy shell szkriptet.

Száma és a sorok között, az első sorban és az utolsó sorban a fájl, meg kell egyeznie az utolsó mező az első és az utolsó sor.

Azaz, az utolsó mező az első és az utolsó sorban wil van egy szám, hogy meg kell egyeznie a (számú sort a fájlból) -2.

Pls segítsen nekem ki ezzel.


Példa: QDB_2008.txt

1.1,20070427151500,99567,99669,0009
00001,20070427,00567,6012345671,2081, I
00002,20070427,00568,6012345672,2054, I
00003,20070427,00569,6012345673,2063, I
00004,20070427,00570,6012345674,2081, D
00005,20070427,00571,6012345675,2054, D
00006,20070427,00572,6012345676,2063, D
00007,20070427,00573,6012345677,2081, U
00008,20070427,00574,6012345678,2054, U
00009,20070427,00575,6012345679,2063, U
101.1.0,0009 #

Üdvözlettel,
Krishna
  #2 (permalink)  
Old 06-18-2008
era era is offline Forum Advisor  
Herder a Mihaszna Cicák (A szombati)
  
 

Join Date: Mar 2008
Helyszín: / ott / is / csak a / bin / sh
Hozzászólások: 3652
Kód:
awk -F, '
NR==1 { expect=$NF; fields=NF; last=0 }
NF != fields { last=NR;
  if (NR != 2) print NR ": wrong number of fields: " $0;
  if ($NF != expect) print NR ": last field value not the same as on first line"
  if ($NF != NR-2) print NR ": last field not equal to line count minus two"
  if ($NF != expect) print NR ": line count from first line not identical"
}
last > 0 && NR > last { print NR ": wrong number of fields: " $0 }' QDB_2008.txt
Kissé nehézkes, de remélhetőleg legalább a kezdéshez.
  #3 (permalink)  
Old 06-18-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Join Date: Dec 2007
Helyszín: Home 17-idő világ bajnok Boston Celtics
Hozzászólások: 1311
Wink Nem annyira elegáns, de eltérő módon közelítették meg a kérdést

Kód:
> cat chk_valid 
#! /bin/bash
#
# script to check on file conditions

ifile="QDB_2008.txt"

line_1=$(head -1 $ifile)
line_lst=$(tail -1 $ifile)
line_cnt=$(cat $ifile | wc -l)
detl_cnt=$((line_cnt-2))

line_1_val=$(echo $line_1 | cut -d"," -f5)
line_lst_val=$(echo $line_lst | cut -d"," -f2 | cut -d"#" -f1)

if [ "$line_1_val" -ne "$line_lst_val" ]
   then
   echo "Error - header & footer line counts differ"
fi

if [ "$detl_cnt" -ne "$line_1_val" ]
   then
   echo "Error - # detail lines does not match expected counts"
fi
  #4 (permalink)  
Old 06-19-2008
KrishnaSaran KrishnaSaran is offline
Regisztrált felhasználó
  
 

Join Date: Jun 2008
Hozzászólások: 12
Szia,

A fenti kód működik.
Akarom futtatni a szkriptet hozzáadása után újsor karaktert végén a fájlt.

Pls let me know how csatol egy újsor karaktert végén a fájlt, ha nem létezik.

Üdvözlettel,
Krishna
  #5 (permalink)  
Old 06-19-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2007
Hozzászólások: 4.322
Kód:
awk 1 file
Üdvözlettel
  #6 (permalink)  
Old 06-19-2008
ripat ripat is offline Forum Advisor  
Regisztrált felhasználó
  
 

Join Date: Oct 2006
Helyszín: Belgium
Posts: 438
... vagy
Kód:
$ echo "" >> file
  #7 (permalink)  
Old 06-19-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2007
Hozzászólások: 4.322
Idézet:
Originally Posted by ripat View Post
... vagy
Kód:
$ echo "" >> file
Ez mindig csatol újsor végén egy fájlt, míg az OP kíván hozzáfűzni egy újsor karaktert a végén a fájl, csak akkor, ha az nem létezik.

Üdvözlettel
Closed Thread

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 03:40 PM.


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