The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Filstorlek jämförelse lokal fil och avlägsna fil dba.admin2008 Shell-programmering och Skript 4 11-13-2008 05:57
Läsa en fil och skriva filnamnet till ett param fil. thebeginer UNIX för avancerade & Expertanvändare 1 10-05-2007 05:38
Läsa filnamn från en fil och verkställande relativa fil från shell script anushilrai Shell-programmering och Skript 4 03-10-2006 05:25

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 Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 01-02-2009
Hangman2 Hangman2 is offline
Registered User
  
 

Join Date: februari 2008
Inlägg: 27
Komma filnamn?

Förutsatt / dir1/dir2 har två fil

fil1
fil2

Om jag får det filnamn som innehåller dir namn med kommandot

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

då får jag filnamn som innehåller / dir1/dir2 också.

om jag vill få precis det filnamn som bör fil1 och fil2 hur kan jag göra det?
  #2 (permalänk)  
Old 01-02-2009
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
Modérateur
  
 

Join Date: Dec 2007
Ort: Home av 17-Temne världen mästare Boston Celtics
Inlägg: 1311
Wink prova följande


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

undvika sökvägen i din variabel
  #3 (permalänk)  
Old 01-02-2009
cfajohnson's Avatar
cfajohnson cfajohnson is online now Forum Advisor  
Shell programmerare, författare
  
 

Join Date: mars 2007
Ort: Toronto, Kanada
Inlägg: 2.364

Jag skulle inte använda fyra externa kommandon bara få ett filnamn. Men när du har det, det är en enkel sak att parametern expansion:


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

  #4 (permalänk)  
Old 01-02-2009
Hangman2 Hangman2 is offline
Registered User
  
 

Join Date: februari 2008
Inlägg: 27
Det fungerade

Detta fungerade.

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


>>
Jag skulle inte använda fyra externa kommandon bara få ett filnamn
>>

Finns det ett alternativ att bara få den senaste filnamnet från en dir?

Jag brukade grep för att bara hämta filer från en dir eller hoppa över dirs undertill ger svans -1 senast filnamnet. Awk skriver bara namnet.

Tack.

  #5 (permalänk)  
Old 01-02-2009
reborg's Avatar
reborg reborg is offline Forum Staff  
Administratör
  
 

Join Date: mars 2005
Ort: Irland
Inlägg: 4.244
Som ett enkelt exempel på hur du kan helt enkelt den, du kan bli av med grep och svans.
  #6 (permalänk)  
Old 01-02-2009
cfajohnson's Avatar
cfajohnson cfajohnson is online now Forum Advisor  
Shell programmerare, författare
  
 

Join Date: mars 2007
Ort: Toronto, Kanada
Inlägg: 2.364
Citat:
Ursprungligen postat av Hangman2 View Post
Finns det ett alternativ att bara få den senaste filnamnet från en dir?


Kod:
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

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 05:16.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0