Kezdőlap › Fórumok › Programozás › Bash script
- This topic has 437 hozzászólás, 56 résztvevő, and was last updated 13 years, 7 months telt el by
Goosfrabaa.
-
SzerzőBejegyzés
-
2006-12-22-20:28 #2053429erdsiger wrote:l_lorincz wrote:kijelölöd az összeset krusaderrel, majd krename
fajlnev[$9-10] ha a ‘space’ is kell fajlnev[$8-10]Köszönöm, sikerült végre átneveznem. És köszönöm hogy megismertetted velem a krusadert, eddig nem is hallottam róla, pedig tényleg nagyon jó.
Életemben először használtam a krename-t. Csak el kellett olvasni a helpet. Amit a valamivel több, mint egy éves linux használatom alatt megtanultam, hogy általában először keressek itt, a google-n, vagy megnézem a program man-jét, helpjét és csak utána kérdezzek ha végképp nem találom a választ.
2006-12-22-21:14 #2053430milfer wrote:erdsiger wrote:milfer wrote:A thunar nevű file kezelő tud csoportosan maszk alapján file-okat átnevezni.Az nem csak Xfce-n működik?
A grafikus programok X alatt futnak. A Gnome, KDE, Xfce csak a csicsát adják hozzá.
Már ha a widget készletet „cicsának” tekintjük
2006-12-23-18:54 #2053431törölve
2006-12-23-18:55 #2053432Code:for i in *; do
mv $i `echo $i | sed „s@^….@amireakarod@g”`
doneElőször javaslom, hogy az mv helyett egy echo legyen (hogy lásd, jól fogja-e átnevezni).
Szerk.: a kód végéről lemaradt egy Alt+7-es karakter (`), pótolva…
2006-12-23-21:04 #2053433És ez szerinted mi a pinyót fog csinálni (mer szerintem semmit, kivéve, ha van *[csillag] nevű állományod)
Mondjuk Én feltétlen Perl-ben csinálnám. Az alábbi alapján nem nehéz összehozni, valami ilyen sorral:
$new =~ s/^unix(.*)$/linux$1/;
Tehát a script:Code:#!/usr/bin/perlopendir (DIR, „./”);
while(my $old = readdir(DIR)){
print(„$oldn”);
$new = $old;
$new =~ s/^unix(.*)$/linux$1/;
# $new =~ s/([A-Za-z0-9]*) ([A-Za-z0-9]*)/$1_$2/g; # ez is erdekes
# $new =~ s/([A-Za-z0-9]*)_-_([A-Za-z0-9]*)/$1-$2/g; # meg ez is
rename($old, $new);
print(„tt$newnnn”);
}Bár igaz ez nem BASH… 🙁
2006-12-24-09:28 #2053434kayapo wrote:És ez szerinted mi a pinyót fog csinálni (mer szerintem semmit, kivéve, ha van *[csillag] nevű állományod)Akkor tanulj egy kicsit bash-programozni, ismerkedj parancshelyettesítésekkel, a metakarakterekkel (asszem, ez a nevük) meg ilyenekkel.
Vagy pedig próbáld ki, ha nem hiszed:
Code:$ for i in *; do echo $i ” -> ” `echo $i | sed „s@^….@csere@g”` ; done
04036pdf.zip -> csere6pdf.zip
09_piaci_ingfed_060901.pdf -> csereiaci_ingfed_060901.pdf
13_allami_060901.pdf -> cserellami_060901.pdf
14tantargy.pdf -> cserentargy.pdf
adblock.txt -> csereock.txt
Advent.pps -> cserent.pps
Aleph One Log.txt -> csereh One Log.txt
a.out -> cseret
…2007-01-10-19:06 #2053435Hali!
Csinálok egy fileszerkesztőt. A lényeg beolvasok egy mintát amit keresek egy fájlban és felajánlom, ha megvan a minta hogy cseréljem-e. Amíg sima szöveget adok mintának addig működik is. De amint a grepnek szeretném átadni a mintát nem tetszik neki.
Hogy érthetőbb legyek:Code:read minta”
while read sor
do
van=`echo $sor | grep -G $minta`
if [ -n „$van” ]
then
echo $van
fi
done < $fajlTehat ha a minta pl.: ‘.’ akkor nem a pontot tartalmazó sorokat írja ki, hanem semmit. ???
2007-01-15-09:20 #2053436.
2007-01-15-09:26 #2053437Sziasztok! Kérdésem az lenne, hogy:
wget-et használva milyen módon lehet a letöltött oldalakban levő hívatkozásokat relatívvá tenni, vagyis a célom az, hogy a letöltött oldalakat offline lapozgathassam, anélkül, hogy föl akarjon kéretőzni a netre az eredeti helyen keresve.
Köszi2007-01-15-11:05 #2053438A wget manja szerint a -k kapcsolo csinalja.
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz