The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Shell Script for å slette den første linjen i en fil badrimohanty Shell programmering og Skripting 3 06-18-2009 12:26
shell script reqd - sletter filer venkatesht Shell programmering og Skripting 2 12-19-2008 01:15
Slette kolonne fra en flatfile med skilletegn rsprabha Shell programmering og Skripting 5 10-03-2008 05:18
Haster hjelpe kreves slette en linje uten å åpne en fil usinga shell script naan Shell programmering og Skripting 6 07-20-2006 04:42
shell script: slette filer fra en katalog onlyc Shell programmering og Skripting 1 07-09-2006 07:41

Reply
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 denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 06-23-2009
durden_tyler's Avatar
durden_tyler durden_tyler is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: april 2009
Innlegg: 542

Code:
perl -pi -e 's/^.*\n$// if (unpack "A5") eq ""' filename

tyler_durden
  #2 (permalink)  
Old 06-23-2009
pa.chidhambaram pa.chidhambaram is offline
Registrert bruker
  
 

Bli Date: Feb 2008
Beliggenhet: Nagercoil
Innlegg: 10
Sitat:
Originally Posted by dinesh1985 View Post
inndatafilen
Fornavn - stillingen 1-5
Etternavn posisjon 6-10
Age-posisjon 11-12
Si ovenfor er formatet for inndatafilen.
Eksempel:
DINESKUMAR21
SACHISHAH 23
23
GURUNTARIM22

I eksempelet ovenfor, i den 3. posten Navn mangler. Nå under lesing av filen linje for linje, jeg vil slette den 3. linje under valideringen.

---------- Innlegg oppdateres 08:47 ---------- Forrige oppdatering var på 08:46 ----------

for tredje linje blankspaces vil være til stede før 23
Hei,
Du kan bruke under kommandoen til å slette ugyldige linjen.

cat data | awk '(if (substr ($ 1,1,5 )!\u003d"" & & substr ($ 1,6,10 )!\u003d"" & & substr ($ 1,11,12 )!\u003d"") print $ 1) '> new_filtered_file_name.

Hvor dataene er inndatafilen.

Takk,
chidhu
  #3 (permalink)  
Old 06-23-2009
durden_tyler's Avatar
durden_tyler durden_tyler is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: april 2009
Innlegg: 542
Sitat:
Originally Posted by pa.chidhambaram View Post
...
Du kan bruke under kommandoen til å slette ugyldige linjen.

cat data | awk '(if (substr ($ 1,1,5 )!\u003d"" & & substr ($ 1,6,10 )!\u003d"" & & substr ($ 1,11,12 )!\u003d"") print $ 1) '> new_filtered_file_name.

Hvor dataene er inndatafilen.

...
Really?


Code:
$
$ cat data
DINESKUMAR21
SACHISHAH 23
          23
GURUNTARIM22
$
$ cat data | awk '{ if(substr($1,1,5)!="" && substr($1,6,10)!="" && substr($1,11,12)!="") print $1}'
DINESKUMAR21
GURUNTARIM22
$
$

tyler_durden
  #4 (permalink)  
Old 07-03-2009
Sumedha Sobti Sumedha Sobti is offline
Registrert bruker
  
 

Bli Dato: juli 2009
Location: India
Innlegg: 9
Hei,

I stedet for å telle linjenummer som skal slettes og komme ut av filen og deretter implementere det, kan du prøve en enkel utvei.
Dette er en interaktiv måte å slette en linje under lesing av filen:
1. Angi filen med si VI xx.txt
2. Esc og trykk pil ned for å nå den linjen som skal slettes
3. Esc klikk DD (to ganger)
4. Line er fjernet

Hilsen,
Sumedha

Sist endret av Sumedha Sobti; 07-05-2009 på 02:43..
  #5 (permalink)  
Old 06-23-2009
rakeshawasthi rakeshawasthi is offline
Registrert bruker
  
 

Bli Dato: Aug 2004
Location: India
Innlegg: 379
og hva har du prøvd?

---------- Post oppdatert kl 07:37 ---------- forrige oppdatering var ved 07:23 ----------


Code:
grep '^[A-Z]' inputfile > newfile
awk '/^[A-Z]/ {print}' inputfile > newfile

  #6 (permalink)  
Old 06-26-2009
dinesh1985 dinesh1985 is offline
Registrert bruker
  
 

Bli Dato: juni 2009
Innlegg: 31
Takk for svar .. jeg ll prøve det og oppdatere

---------- Post oppdatert 06-26-09 kl 03:20 ---------- forrige oppdatering var 06-25-09 kl 03:54 ----- -----

Jeg donot ønsker å viderekoble til en ny fil. Jeg vil slette linje fra selve filen.
Jeg har forsøkt sed -Jeg '3 d 'for å slette 3.linje. Men mitt skall er ikke gjenkjenner sed -i.

Jeg har forsøkt sed '3 D '<filenavn> .. det viser filen uten 3.linje. Men 3.linje ikke er permanent. Kanne noen behage hjelpe
  #7 (permalink)  
Old 06-26-2009
rakeshawasthi rakeshawasthi is offline
Registrert bruker
  
 

Bli Dato: Aug 2004
Location: India
Innlegg: 379
Sitat:
Originally Posted by dinesh1985 View Post
Takk for svar .. jeg ll prøve det og oppdatere

---------- Post oppdatert 06-26-09 kl 03:20 ---------- forrige oppdatering var 06-25-09 kl 03:54 ----- -----

Jeg donot ønsker å viderekoble til en ny fil. Jeg vil slette linje fra selve filen.
Jeg har forsøkt sed -Jeg '3 d 'for å slette 3.linje. Men mitt skall er ikke gjenkjenner sed -i.

Jeg har forsøkt sed '3 D '<filenavn> .. det viser filen uten 3.linje. Men 3.linje ikke er permanent. Kanne noen behage hjelpe
Med litt knep du kan omdirigere utdataene sed inn i samme fil


Code:
sed '3d' file | tee file

Reply

Hugseliste

Tags
sed, shell script, UNIX

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 05:58.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0