Kezdőlap › Fórumok › Programozás › Átnevezés
- This topic has 9 hozzászólás, 6 résztvevő, and was last updated 18 years, 2 months telt el by
Leslieman.
-
SzerzőBejegyzés
-
2007-04-28-21:09 #2103709
grep lesz a te embered… hogy ez le is tudja-e cserélni, azt nem tudom, de megkeresni megkeresi…
2007-04-29-11:34 #2103710Wait wrote:grep lesz a te embered…Igen, a megkeresésé még csak menne, a -R kapcsolóval rekurzívan működne is, de arra még nem jöttem rá, hogyan lehetne lecserélni 🙁
2007-04-29-12:36 #2103711Egyszerűbb a rename-t használni. Util-linux csomagban benne van.
http://wiki.linuxquestions.org/wiki/Rename2007-04-29-14:38 #2103712Ha jól értem, egy directory stuktúrában végig akarsz nézni fájlokat egy adott stringre, és ha az ott van, akkor a sringet lecserélni egy másikra a fájlban.
Ha ezt akarod, akkor pl ez lehet a scripted:
Code:# 1. par: kezdokonyvtar
# 2. par: a keresendo string
# 3. par: amire cserelni akarod
# a felhivaskor a parametereket macskakormok koze lehet zarni
# ha a 2. vagy 3. parameretben „/” szerepel, akkor azt „”-sel devalidalni kellfor i in $(grep -Rl „$2” $1/*)
do
sed -e „s/$2/$3/g” $i >/tmp/csere.tmp
mv /tmp/csere.tmp $i
doneSzóközös könyvár / fájlnevekre nem teszteltem 😉
2007-04-29-15:35 #2103713Leslieman wrote:Egyszerűbb a rename-t használni.Ha jól látom, a rename csak a fájl nevét cseréli le. Vagy rosszul értelmezem?
gendelider wrote:Ha ezt akarod, akkor pl ez lehet a scripted:Kipróbáltam, de szerintem valamit rosszul írtam. Ez az eredmény:
Code:erdsiger[com_openwiki]$ cat csere.sh
# 1. par: kezdokonyvtar
# 2. par: a keresendo string
# 3. par: amire cserelni akarod
# a felhivaskor a parametereket macskakormok koze lehet zarni
# ha a 2. vagy 3. parameretben „/” szerepel, akkor azt „”-sel devalidalni kellfor i in $(grep -R „utf-8” /home/erdsiger/joomla/com_openwiki/*)
do
sed -e „s/utf-8/iso-8859-2/g” $i >/tmp/csere.tmp
mv /tmp/csere.tmp $i
done
erdsiger[com_openwiki]$ ./csere.sh
sed: érvénytelen kapcsoló — R
Usage: sed [OPTION]… {script-only-if-no-other-script} [input-file]…-n, –quiet, –silent
suppress automatic printing of pattern space
-e script, –expression=script
add the script to the commands to be executed
-f script-file, –file=script-file
add the contents of script-file to the commands to be executed
-i[SUFFIX], –in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)
-l N, –line-length=N
specify the desired line-wrap length for the `l’ command
–posix
disable all GNU extensions.
-r, –regexp-extended
use extended regular expressions in the script.
-s, –separate
consider files as separate rather than as a single continuous
long stream.
-u, –unbuffered
load minimal amounts of data from the input files and flush
the output buffers more often
–help display this help and exit
–version output version information and exitIf no -e, –expression, -f, or –file option is given, then the first
non-option argument is taken as the sed script to interpret. All
remaining arguments are names of input files; if no input files are
specified, then the standard input is read.A fordítási hibákat kérem a gyulai@fbi.hu címre küldeni.
Angolul ide: bonzini@gnu.org . A levél Tárgy mezejében legyen ott a `sed’ szó.
mv: érvénytelen kapcsoló — R
Próbáld a „mv –help”-et.
sed: a kapcsolónak szüksége van egy argumentumra — e
Usage: sed [OPTION]… {script-only-if-no-other-script} [input-file]…-n, –quiet, –silent
suppress automatic printing of pattern space
-e script, –expression=script
add the script to the commands to be executed
-f script-file, –file=script-file
add the contents of script-file to the commands to be executed
-i[SUFFIX], –in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)
-l N, –line-length=N
specify the desired line-wrap length for the `l’ command
–posix
disable all GNU extensions.
-r, –regexp-extended
use extended regular expressions in the script.
-s, –separate
consider files as separate rather than as a single continuous
long stream.
-u, –unbuffered
load minimal amounts of data from the input files and flush
the output buffers more often
–help display this help and exit
–version output version information and exitIf no -e, –expression, -f, or –file option is given, then the first
non-option argument is taken as the sed script to interpret. All
remaining arguments are names of input files; if no input files are
specified, then the standard input is read.A fordítási hibákat kérem a gyulai@fbi.hu címre küldeni.
Angolul ide: bonzini@gnu.org . A levél Tárgy mezejében legyen ott a `sed’ szó.
mv: érvénytelen kapcsoló — e
Próbáld a „mv –help”-et.
sed: nem lehet olvasni „s/utf-8/iso-8859-2/g”: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „”s/utf-8/iso-8859-2/g””: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni >/tmp/csere.tmp: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „>/tmp/csere.tmp”: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni application/xml;: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „application/xml;”: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni /home/erdsiger/joomla/com_openwiki/inc/lang/en/lang.php://Setup: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „/home/erdsiger/joomla/com_openwiki/inc/lang/en/lang.php://Setup”: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni /home/erdsiger/joomla/com_openwiki/inc/toolbar.php://Setup: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „/home/erdsiger/joomla/com_openwiki/inc/toolbar.php://Setup”: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni /home/erdsiger/joomla/com_openwiki/inc/auth.php://Setup: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „/home/erdsiger/joomla/com_openwiki/inc/auth.php://Setup”: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni /home/erdsiger/joomla/com_openwiki/inc/fulltext.php://Setup: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „/home/erdsiger/joomla/com_openwiki/inc/fulltext.php://Setup”: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni /home/erdsiger/joomla/com_openwiki/inc/parserutils.php://Setup: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „/home/erdsiger/joomla/com_openwiki/inc/parserutils.php://Setup”: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni /home/erdsiger/joomla/com_openwiki/inc/mail.php://Setup: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „/home/erdsiger/joomla/com_openwiki/inc/mail.php://Setup”: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni /home/erdsiger/joomla/com_openwiki/inc/confutils.php://Setup: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „/home/erdsiger/joomla/com_openwiki/inc/confutils.php://Setup”: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni /home/erdsiger/joomla/com_openwiki/inc/blowfish.php://Setup: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „/home/erdsiger/joomla/com_openwiki/inc/blowfish.php://Setup”: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni /home/erdsiger/joomla/com_openwiki/inc/feedcreator.class.php://Setup: Nem könyvtár
mv: „/home/erdsiger/joomla/com_openwiki/inc/feedcreator.class.php://Setup” elérése: Nem könyvtár
sed: nem lehet olvasni text/html;: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „text/html;”: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni text/plain;: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „text/plain;”: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni text/html;: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „text/html;”: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni content=”text/html;: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „content=”text/html;”: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni />’);: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „/>’);”: Hozzáférés megtagadva
sed: nem lehet olvasni /home/erdsiger/joomla/com_openwiki/inc/actions.php://Setup: Nem könyvtár
mv: „/home/erdsiger/joomla/com_openwiki/inc/actions.php://Setup” elérése: Nem könyvtár
sed: nem lehet olvasni /home/erdsiger/joomla/com_openwiki/inc/aspell.php://Setup: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „/home/erdsiger/joomla/com_openwiki/inc/aspell.php://Setup”: Nincs ilyen fájl vagy könyvtár
sed: nem lehet olvasni /home/erdsiger/joomla/com_openwiki/inc/io.php://Setup: Nincs ilyen fájl vagy könyvtár
mv: „/tmp/csere.tmp”-t nem lehet ide áthelyezni: „/home/erdsiger/joomla/com_openwiki/inc/io.php://Setup”: Nincs ilyen fájl vagy könyvtárÉs még ez folytatódik…
2007-04-29-15:53 #2103714for i in $(grep -Rl „utf-8” /home/erdsiger/joomla/com_openwiki/*)
az R betű után egy kis l (lászló) hibádzik.
Nálad kiír minden találatot, a kis l viszont azt mondja, hogy csak a fájlneveket írja ki, amelyikben találat van.2007-04-29-16:03 #2103715gendelider wrote:az R betű után egy kis l (lászló) hibádzik.Így már sikerült! Köszönöm! Valószínűleg amikor a paramétereket adtam meg, véletlenül kitöröltem…
2007-04-29-19:03 #2103716Esetleg a sed-et ki lehet cserélni sed -i-re, ilyenkor nem kell átirányítani/átnevezni:
-i[SUFFIX], –in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)
2007-05-01-18:16 #2103717erdsiger wrote:Ha jól látom, a rename csak a fájl nevét cseréli le. Vagy rosszul értelmezem?Ahh, igen. Rosszul olvastam el, amit írtál. Azt hittem a fájlnévben kell cserélni a szavakat :). Bocs.
2009-12-04-19:59 #1886214Sziasztok!
Lenne egy problémám, de nagyon nem értek a bash programozásához 🙂 Egy könyvtárban vannak fájlok és további alkönyvtárak is. Egy olyan szkriptre lenne szükségem, amely ebben a könyvtárban lévő összes fájlban (beleértve az alkönyvtárakban lévőket is) megkeres egy szót (a fájl szövegében, nem a nevében) és az lecseréli egy másikra. Előre is köszönöm a segítséget!
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz