Ben ls "$ değişkeni" şeklinde tüm dosyaları benim komut almaya çalışıyorum. *bash komut
parametre her zaman İstiyorum .001 uzantılı bir dosyadır
first="$1"
others=${first%.001}
ls $others"*"
Benim sorunum file[success].mpg.001
ve ne ls beslenen alır file[success].mpg*
olduğu adlı dosyadır örneğin aynı ada ancak farklı uzantılı $ file.002, file.003 vb örn .: tüm dosyaları bulmak Bu,için ls: cannot access file[success].mpg*: No such file or directory
verir. 210 ihtiyaçlar görmek için: Her şeyi çalışıyorum
file\[success\].mpg*
, gözüme yaptığım tek şey ls parametre $ 1 eser beslenen, ama ben değil dosyasını = $ 1 yaptıktan sonra $ dosyasını beslenen eğer. Yani, değişkeni bir parametreye nasıl değiştirebilirim?
teşekkür çok daha farklı bir şekilde kullanmalısınız tahmin! – geekmagii
Size yardımcı olabildiğime sevindim. – bmk
Bu, adlarda parantez içeren, ancak boşluk gibi diğer garip karakterler için olmayan dosyalarda çalışır. Örneğin, ./findfiles1 "test [success] .mpg.001" 'ı denedim ve iki dosya adı olarak bunu ayrıştırdı ve bulamadı: 'ls: \ [success \] .mpg *: Böyle bir dosya yok veya dizin '' ls: test \: Böyle bir dosya ya da dizin yok. –