The UNIX and Linux Forums  
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.

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
Dateigröße Vergleich der lokalen und entfernten Datei-Datei dba.admin2008 Shell Programmierung und Scripting 4 11-13-2008 05:57 PM
Lesen und Schreiben einer Datei den Dateinamen auf eine Datei param. thebeginer UNIX für Fortgeschrittene und Experten 1 10-05-2007 05:38 PM
Lesen Dateinamen aus einer Datei und die Ausführung des relativen Datei aus Shell-Skript anushilrai Shell Programmierung und Scripting 4 03-10-2006 05:25 AM

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 01-02-2009
Hangman2 Hangman2 is offline
Registrierte Nutzer
  
 

Join Date: Feb 2008
Beiträge: 27
Erste Datei Name?

Angenommen / dir1/dir2 hat zwei-Datei

Datei1
Datei2

Wenn ich den Dateinamen, der die Richt-Namen mit Befehl

file_name \u003d `ls-l / dir1/dir2 / * | grep '^ -' | tail -1 | awk '(print $ 9)'`

dann bekomme ich file_name, die der / dir1/dir2 auch.

wenn ich will, um nur die Dateinamen, die datei1 und datei2 werden dann, wie kann ich das tun?
  #2 (permalink)  
Old 01-02-2009
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Join Date: Dezember 2007
Ort: Haus der 17-Weltmeister Boston Celtics
Beiträge: 1311
Wink Probieren Sie die folgenden

Code:
file_name=`ls -ltr /dir1/dir2 | grep '^-' | tail -1 | awk '{print $9}' `
, um den Verzeichnispfad in der Variable
  #3 (permalink)  
Old 01-02-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell-Programmierer, Autor
  
 

Join Date: März 2007
Ort: Toronto, Kanada
Beiträge: 2361

Ich möchte nicht vier externe Befehle nur einen Dateinamen. Sobald Sie jedoch haben, ist es einfach eine Frage der Parameter Expansion:

Code:
file_name=${file_name##*/}
  #4 (permalink)  
Old 01-02-2009
Hangman2 Hangman2 is offline
Registrierte Nutzer
  
 

Join Date: Feb 2008
Beiträge: 27
Das hat

Das funktionierte.

file_name \u003d `ls-l / dir1/dir2 | grep '^ -' | tail -1 | awk '(print $ 9)'`


>>
Ich möchte nicht mit vier externen Kommandos nur die eine Datei
>>

Gibt es eine Alternative zu den nur die neueste Datei aus einem dir?

Ich habe grep nur erhalten Dateien von einem Richt-oder überspringen Sie die dirs darunter, tail -1 gibt die neueste Datei. Awk druckt nur den Namen.

Danke.

  #5 (permalink)  
Old 01-02-2009
reborg's Avatar
reborg reborg is online now Forum Staff  
Administrator
  
 

Join Date: März 2005
Ort: Irland
Posts: 4222
Als einfaches Beispiel, wie man es einfach, man konnte das loswerden, die grep und Schwanz.
  #6 (permalink)  
Old 01-02-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell-Programmierer, Autor
  
 

Join Date: März 2007
Ort: Toronto, Kanada
Beiträge: 2361
Zitat:
Zitat von Hangman2 View Post
Gibt es eine Alternative zu den nur die neueste Datei aus einem dir?

Code:
dir=/dir1/dir2  ## adjust to taste
file_name=$(
 ls -t "$dir" |
 while IFS= read -r file
 do
   [ -f "$dir/$file" ] && { printf "%s\n" "$file"; break; }
 done
)
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 01:23 PM.


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