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
Erkennung von eingehenden Dateien, ohne beschäftigt Polling baldyeti Shell Programmierung und Scripting 9 08-15-2008 12:06 PM
Skript zu finden, die durchschnittliche Anzahl von Dateien oder? bbbngowc Shell Programmierung und Scripting 2 03-27-2008 12:57 PM
ein Skript von eingehenden E-Mails jojo77 UNIX for Dummies Questions & Answers 7 02-22-2008 01:48 PM
Sie Zahl der eingehenden Anfragen an einen Server laddu UNIX for Dummies Questions & Answers 1 03-10-2007 01:48 AM
awk-Skript, um die Anzahl der Dateien uni_ajay_r Shell Programmierung und Scripting 4 10-31-2006 06:58 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 03-18-2009
hootdocta5 hootdocta5 is offline
Registrierte Nutzer
  
 

Join Date: März 2009
Beiträge: 5
Script an die Nummer eingehende Dateien

Hey Jungs,

Ich arbeite gerade an einem Skript Cshell stecken, und ich bin auf dieses Teil. Ich brauche die Möglichkeit zum Kopieren von Dateien im Verzeichnis, sondern auf meine ihnen andere Namen, damit sie sich nicht gegenseitig überschreiben können. Zum Beispiel, meine Ordner enthält bereits FILE.1 Ich möchte, dass mein Skript, um den Namen des nächsten Datei kopiert FILE.2 und die nächste FILE.3 und so weiter. Sie sollte in der Lage zu sagen, welche Dateien gibt es den neuen Namen und einer der nächsten höchsten Wert. Ich habe FILE.1, FILE.2, und FILE.3 in meinem Verzeichnis jetzt, wenn ich in einer anderen Datei kopieren, mein Skript umbenennen FILE.4 Dieses Skript hat mich den ganzen Tag Nüsse Ich kann es nicht Wert aus. Hier ist das, was ich bisher. Vielen Dank im Voraus. Neuer Code wird gebeten, weil ich natürlich keine Ahnung, was ich in diesem Stück.

Code:
while (-d FILE.0)
cp -r FILE FILE.1
 
set ctr = 1
foreach f(*)
   set var1 = 'file $f | awk '{printf "%s\n",$3}''
   if ($var1 == 1) then
      FILE = 'ls $f | cut -f1 -d "."'
      1 = 'ls $f | awk -F "." '{printf "%s\n",$2}''
      mv $f $FILE$ctr.$1
      ctr = 'expr $ctr + 1'
  endif
end
end
  #2 (permalink)  
Old 03-19-2009
wabard wabard is offline
Registrierte Nutzer
  
 

Join Date: März 2009
Ort: Adelaide, SA und Perth, WA - Australien
Beiträge: 25
Exclamation

Code:
#!/bin/sh

i=1

while(a=1)
do
     if test -e  "FILE."$i
     then
       let i+=1
     else
       break
     fi
done

cp -f FILE FILE.$i

Zuletzt bearbeitet von wabard; am 03-19-2009 08:53 PM.. Grund: Der CP Befehlszeilenargument zu f-von-R (Ich tippte die falsche Option, R und F sind in der Nähe auf der Tastatur .. lol)
  #3 (permalink)  
Old 03-19-2009
hootdocta5 hootdocta5 is offline
Registrierte Nutzer
  
 

Join Date: März 2009
Beiträge: 5
Zitat:
Zitat von wabard View Post
Code:
#!/bin/sh
 
i=1
 
while(a=1)
do
     if test -e  "FILE."$i
     then
       let i+=1
     else
       break
     fi
done
 
cp -r FILE FILE.$i
Was genau macht die A-Vertretung in dieser Code?
  #4 (permalink)  
Old 03-19-2009
wabard wabard is offline
Registrierte Nutzer
  
 

Join Date: März 2009
Ort: Adelaide, SA und Perth, WA - Australien
Beiträge: 25
Zitat:
Zitat von hootdocta5 View Post
Was genau macht die A-Vertretung in dieser Code?

Dummy-Variable, um die Schleife, während die immer ... Sie verlassen die Endlosschleife mit dem "break"-Anweisung.

Anmerkung: Ich habe einen Fehler in der "CP" Befehlszeile-Option in dem obigen Beispiel (korrigiert und darauf hingewiesen).
  #5 (permalink)  
Old 03-19-2009
summer_cherry summer_cherry is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Jun 2007
Ort: Peking, China
Posts: 1088
unten können Sie einige

Code:
name=`for i in dir1/*
do
	echo $i | sed 's/^\(.*\/\)\([^0-9]*\)\(.*\)/\2 \3/'
done | sort -n +1 | tail -1 | awk '{print $1""($2+1)}'`
cp file_to_be_copied dir1/$name
  #6 (permalink)  
Old 03-19-2009
Goldorakk's Avatar
Goldorakk Goldorakk is offline
Registrierte Nutzer
  
 

Join Date: Feb 2009
Ort: Frankreich
Beiträge: 43
In Korn Shell:
Code:
#!/bin/ksh

if [ ! $# -eq 2 ]
then
        echo "Usage: $(basename $0) <filename> <target directory>"
        exit 1
fi

fname=$(basename $1)
current=$(pwd)

cd $2

lastval=$(ls $fname* 2>/dev/null |sort | tail -1 | cut -d. -f2)

if [ "$lastval" = "" ]
then
        lastval=1
else
        (( lastval = lastval + 1 ))
fi

cd $current
cp -f $1 $2/$1.$lastval
Wenn Ihr Skript ist zum Beispiel "mycopyfile", verwenden Sie es, wie:
Code:
./mycopyfile FILE /path/to/files
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 09:43 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