The UNIX and Linux Forums  

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Konvertierung von Binär-dezimal kodierten Werte zu ASCII-Werte gaur.deepti UNIX für Fortgeschrittene und Experten 3 04-02-2008 01:33 PM
Erhöhung / var roguekitton SUN Solaris 0 10-19-2007 08:26 AM
Hilfe auf die Steigerung der fs Größe kingsto88 HP-UX 5 02-11-2007 07:37 AM
Speicher Erhöhung Frank2004 High-Level-Programmierung 0 10-21-2005 11:40 PM
Ändern der Werte in den Kernel dman110168 UNIX for Dummies Questions & Answers 4 04-15-2001 05:23 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 Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 10-11-2008
oduth oduth is offline
Registrierte Nutzer
  
 

Join Date: Apr 2008
Beiträge: 8
Red face Ändern der Werte mit der Zunahme der Zahl!

Hi all,

Ich habe einen Befehl namens "vmchange" und ich muss es für Tausende von Daten, die geändert werden müssen.

Zum Beispiel,

vmchange-m-N0001
vmchange-m-N0002
vmchange-m-N0003
...
...
vmchange-m-N0100

Wie kann ich tun, dass in awk oder Bash-Skript?
Jede Hilfe wäre sehr dankbar ..

Dank bereits
  #2 (permalink)  
Old 10-11-2008
jlliagre jlliagre is online now Forum Advisor  
ɹǝsn sıɹɐlosuǝdo
  
 

Join Date: Dezember 2007
Ort: Paris
Posts: 1482

Code:
#!/bin/bash

for ((i=0;i<100;i++))
do
  eval $(printf "vmchange -m N%04d\n" $i)
done

Arbeiten mit ksh93 zu.
  #3 (permalink)  
Old 10-11-2008
Jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Ort: NM
Posts: 5807

Code:
cnt=1
while [[ $cnt -lt 101 ]]
do
  vmchange -m  $(printf "N%04d" $cnt )
  cnt=$(( cnt + 1 ))
done


Zuletzt bearbeitet von Jim McNamara; am 10-11-2008 07:22 PM..
  #4 (permalink)  
Old 10-11-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
addict
  
 

Join Date: Jan 2007
Lage: Варна, България / Milano, Italia
Posts: 2926
Wenn dieser Befehl akzeptiert mehrere Argumente wäre es effizienter, wenn es wie folgt aus:


Code:
vmchange -m N0001 N0002 ... N000n

Also, wenn Sie Ihre Shell unterstützt Klammer Expansion (ksh93, zsh, bash> \u003d 3.0)
und Prozess-Substitution:


Code:
xargs vmchange -m < <(printf "N%04d\n" {1..100})

Wenn der Befehl nicht akzeptiert mehrere Argumente:


Code:
printf "vmchange -m N%04d\n" {1..100}|sh

Oder benutzen Sie einfach ein mächtiges Werkzeug:


Code:
perl -le'system sprintf "vmchange -m N%04d\n",$_ for 1..100'

  #5 (permalink)  
Old 10-11-2008
vidyadhar85's Avatar
vidyadhar85 vidyadhar85 is offline Forum Staff  
Moderator (der Tutor)
  
 

Join Date: Jun 2008
Lage: INDIEN
Posts: 1419
Dies ist mit awk

Code:
 
echo " " |awk '{for(i=0;i<=100;i++){printf("vmchange -m N%04s",i);}}'

  #6 (permalink)  
Old 10-11-2008
oduth oduth is offline
Registrierte Nutzer
  
 

Join Date: Apr 2008
Beiträge: 8
You guys are great!

Ich danke allen sehr viel.
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 05:52 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0