The UNIX and Linux Forums  

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
taille du fichier de comparaison de fichiers local et à distance de fichiers dba.admin2008 De programmation et de script Shell 4 11-13-2008 05:57 PM
Lecture d'un fichier et écrit le nom du fichier à un fichier de paramètres. thebeginer UNIX for Advanced & Expert Users 1 10-05-2007 05:38 PM
La lecture des noms de fichiers à partir d'un fichier et d'exécuter le fichier de rapport de script shell anushilrai De programmation et de script Shell 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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 01-02-2009
Hangman2 Hangman2 is offline
Registered User
  
 

Join Date: Feb 2008
Messages: 27
Obtenir le nom du fichier?

En supposant que / dir1/dir2 a deux fichiers

file1
file2

Si je reçois le nom de fichier qui comprend le nom d'une commande dir

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

puis-je obtenir de file qui comprend le / dir1/dir2 aussi.

si je veux juste le nom du fichier qui doit être file1 ou file2 alors comment puis-je faire?
  #2 (permalink)  
Old 01-02-2009
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Join Date: Dec 2007
Lieu: Accueil de 17-champion du monde Boston Celtics
Messages: 1311
Wink essayez les solutions suivantes


Code:
file_name=`ls -ltr /dir1/dir2 | grep '^-' | tail -1 | awk '{print $9}' `

pour éviter le chemin du répertoire dans votre variable
  #3 (permalink)  
Old 01-02-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmeur, auteur
  
 

Join Date: Mar 2007
Lieu: Toronto, Canada
Messages: 2378

Je ne voudrais pas utiliser quatre commandes externes de la juste obtenir un nom de fichier. Cependant, une fois que vous avez, c'est une simple question de l'expansion de paramètres:


Code:
file_name=${file_name##*/}

  #4 (permalink)  
Old 01-02-2009
Hangman2 Hangman2 is offline
Registered User
  
 

Join Date: Feb 2008
Messages: 27
Qui ont travaillé

Cela a fonctionné.

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


>>
Je ne voudrais pas utiliser quatre commandes externes obtenir la juste un nom de fichier
>>

Existe-t-il une autre à un peu plus tard obtenir le nom de fichier d'un répertoire?

J'ai utilisé grep pour simplement faire des fichiers d'un répertoire ou de sauter l'dirs dessous, tail -1 donne le dernier nom de fichier. Awk imprime seulement le nom.

Merci.

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

Join Date: Mar 2005
Lieu: Irlande
Posts: 4246
Comme un exemple simple de comment vous pourriez tout simplement, on pouvait se débarrasser de grep et de la queue.
  #6 (permalink)  
Old 01-02-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmeur, auteur
  
 

Join Date: Mar 2007
Lieu: Toronto, Canada
Messages: 2378
Citation:
Posté par Hangman2 View Post
Existe-t-il une autre à un peu plus tard obtenir le nom de fichier d'un répertoire?


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

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 05:14 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0