The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Filstørrelse sammenligning lokal fil og fjerntliggende fil dba.admin2008 Shell Programmering og Scripting 4 11-13-2008 05:57 PM
Læsning af en fil og skrive filnavnet til et param fil. thebeginer UNIX for Advanced & Ekspertsøgning Brugere 1 10-05-2007 05:38 PM
Læsning filnavne fra en fil og fuldbyrdelsesstaten den relative fil fra shell script anushilrai Shell Programmering og 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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 01-02-2009
Hangman2 Hangman2 is offline
Registreret Bruger
  
 

Join Date: Feb 2008
Stillinger: 27
Kom godt i filnavnet?

Forudsat / dir1/dir2 har to fil

file1
fil2

Hvis jeg får det filnavn, der omfatter dir navn ved hjælp af kommandoen

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

så jeg får filnavn, der omfatter / dir1/dir2 også.

hvis jeg ønsker at få netop det filnavn, der bør fil1 og fil2 så hvordan kan jeg gøre det?
  #2 (permalink)  
Old 01-02-2009
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Join Date: Dec 2007
Location: Home af 17-tiden verdensmester Boston Celtics
Stillinger: 1311
Wink Prøv følgende


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

for at undgå mappestien i dine variable
  #3 (permalink)  
Old 01-02-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmør, forfatter
  
 

Join Date: Mar 2007
Beliggenhed: Toronto, Canada
Indlæg: 2.362

Jeg vil ikke bruge fire eksterne kommandoer bare få et filnavn. Men når du har det, er det et simpelt spørgsmål om parameter ekspansion:


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

  #4 (permalink)  
Old 01-02-2009
Hangman2 Hangman2 is offline
Registreret Bruger
  
 

Join Date: Feb 2008
Stillinger: 27
Det virkede

Det fungerede.

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


>>
Jeg vil ikke bruge fire eksterne kommandoer bare få et filnavn
>>

Er der et alternativ til bare at få de seneste filnavn fra et dir?

Jeg plejede grep bare få filer fra en mappe eller springe over dirs nedenunder, hale -1 giver de nyeste filnavnet. Awk bare udskriver navn.

Tak.

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

Join Date: Mar 2005
Beliggenhed: Irland
Indlæg: 4.242
Som et simpelt eksempel på, hvordan du kan nøjes med det, du kan slippe af grep og hale.
  #6 (permalink)  
Old 01-02-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmør, forfatter
  
 

Join Date: Mar 2007
Beliggenhed: Toronto, Canada
Indlæg: 2.362
Citat:
Oprindeligt Indsendt af Hangman2 View Post
Er der et alternativ til bare at få de seneste filnavn fra et 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

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 02:37 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0