The UNIX and Linux Forums  

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Läs filen rad för rad VENC22 UNIX for Dummies Frågor & Svar 4 10-30-2008 11:09
förfrågan om hur man söker efter en linje och läsa 4:e ord från den linjen jaggesh UNIX for Dummies Frågor & Svar 4 07-01-2008 11:21
läsa filen rad för rad kittusri9 Shell-programmering och Skript 3 04-24-2008 09:26
Hur man läser sista raden i en txt-fil? yongho UNIX for Dummies Frågor & Svar 2 06-13-2005 02:20
Hur man läser från en fil linje för linje och göra saker rymdskepp Shell-programmering och Skript 4 03-17-2005 09:47

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 08-29-2008
Chella chella is offline
Registered User
  
 

Join Date: oktober 2007
Inlägg: 75
läsa en fil rad för rad i ksh

Hej,

I ksh vi använder "samtidigt läsa linje uttalande att läsa filen rad för rad. I mitt indatafil Jag har 5 platser till i slutet av varje rad. När jag samtidigt läser linje uttalande det käft bort blanksteg i slutet på varje rad

Inp.txt
aaaa <five spaces>
bbbb <five spaces>
cccc <five spaces>

pgm.ksh
#! / bin / ksh
samtidigt läsa linje
göra
len \u003d `echo" $ line "| wc-c"
echo $ len
gjord

my_output
5
5
5

Men min förväntade produktionen bör vara,
10
10
10

Vänligheten att hjälpa mig med detta.

Tack på förhand
Chella.
  #2 (permalänk)  
Old 08-29-2008
eran era is offline Forum Advisor  
Herder av Useless Cats (På sabbatsår)
  
 

Join Date: mars 2008
Ort: / det är / / bara / bin / sh
Inlägg: 3652
Du måste manipulera IFS att göra utrymmen betydande. Sök efter OLDIFS för att se exempel.
  #3 (permalänk)  
Old 08-29-2008
palsevlohit_123 palsevlohit_123 is offline
Registered User
  
 

Join Date: Aug 2008
Plats: Indien-Chennai
Inlägg: 120
awk '(print $ 0, längd ($ 0))' FILENAME
  #4 (permalänk)  
Old 08-29-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: maj 2008
Plats: Sydney, Australien
Inlägg: 1009
Den läsa kommando delar upp linjen i områden som åtskiljs av blanktecken som standard. Du kan ändra detta genom att omdefiniera den inter-området separator (IFS). Prova detta:


Kod:
#!/bin/ksh
while IFS="" read line
do
len=`echo "$line" | wc -c`
echo $len
done


Senast redigerad av Annihilannic; 08-29-2008 vid 02:54.. Orsak: D'oh, för långsamt. :-)
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 06:04.


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