Hogy oldhatnám meg a következő dolgot?
Meg kellene határoznom hogy egy adott fájlnak mi a pontos útvonala.
Ezt megtudom tenni például így:
find "$(cd ..; pwd)" -name "filename"
Meg is van, de több találat van, mert backupok, más verziók, stb.
Hogy tudnám meghatározni pont a megfelelőt?
A nehézséget számomra a felhasználó neve jelenti, mert az nem ismert.
Tehát:
/home/ISMERETLEN/adott_almmappa/adott_fájl
Minden egyéb azonosság szükségtelen, mert azok a backupok, más verziók stb.
A pontos útvonalra van szükségem felhasználó névvel.
- 1150 megtekintés
Hozzászólások
A backupok és más verziók nem a home könyvtárban vannak?
/home/-mal kezdődik, van benne még egy könyvtárnév és utána akármi? Erre kellene regexp minta? Jól értem a kérdést?
- A hozzászóláshoz be kell jelentkezni
/home/*/adott_almmappa/adott_fájl
de lehet, hogy nem értem teljesen jól a problémát
- A hozzászóláshoz be kell jelentkezni
Inkább
find "$(cd ..; pwd)" -name "adott_file" | grep "^/home/[^\/]*/adott_almappa/adott_file$"
, mert a tied matchel például a /home/adott_user/nemadott_almappa/adott_almappa/adott_file-ra is.
Üdv,
Marci
- A hozzászóláshoz be kell jelentkezni
Köszi. Ez eddig jó. Most tesztelem a szkript többi részét.
- A hozzászóláshoz be kell jelentkezni
Igen igazad van az almappa zavaró. Bocsi.
A kérdéses dolog amúgy pld.
/home/elbandi/.rejtett_adott_mappa/adott_fájl
De elbandi lehet anna, pista, stb. Ezt kell kideríteni. Ha a felhasználó neve megvan, akkor minden megvan.
Majd a felhasználó nevét fel is kell vennem egy változóba, mert a későbbiekben még szükség lesz rá.
- A hozzászóláshoz be kell jelentkezni
„Meg is van, de több találat van, mert backupok, más verziók, stb.
Hogy tudnám meghatározni pont a megfelelőt?”
Azt elárulhatnád, hogy a backup és a más verzió miben különbözik a megfelelőtől. Tehát ha van 3 különböző találat, akkor Te, manuálisan hogyan döntöd el, hogy melyik a megfelelő?
- A hozzászóláshoz be kell jelentkezni
Ha jól értettem a feladatot, onnan, hogy a megfelelő file teljes útvonala /home/akármilyen_mappa_de_csak_egy_szint/adott_almappa/adott_file
Üdv,
Marci
- A hozzászóláshoz be kell jelentkezni
Újra átolvasva az OP-t, igazad lehet.
- A hozzászóláshoz be kell jelentkezni
$ realpath ../.irssi/config
/home/elbandi/.irssi/config
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Ez nem mükszik nálam.
- A hozzászóláshoz be kell jelentkezni
readlink -f
- A hozzászóláshoz be kell jelentkezni
Mi a problémája?
- A hozzászóláshoz be kell jelentkezni
Pontosítok. Ez csak akkor működik, ha éppen abban a mappában vagyok, ahol az "adott_fájl" található. De a szkriptnek nem így kell működnie.
$ mkdir .irssi
$ cd .irssi
$ touch config
$ realpath ../.irssi/config
/home/nextra/.irssi/config
$ cd /
$ realpath ../.irssi/config
realpath: ../.irssi/config: Nincs ilyen fájl vagy könyvtár
- A hozzászóláshoz be kell jelentkezni
$ cd /
$ realpath ../.irssi/config
realpath: ../.irssi/config: Nincs ilyen fájl vagy könyvtár
Az első paranccsal (cd /
) a gyökérkönyvtárba lépsz. Itt nincs szülő-könyvtár, amit a realpath
-nak adnál (../
): ellenőrizd a ls ../.irssi/config
paranccsal :)
- A hozzászóláshoz be kell jelentkezni
te erted, hogy mit csinalsz? Miutan megvan a valodi path, onnantol kezdve azt kene hasznalnod. Elmesz a gyokerbe, es boci szemekkel csodalkozol, hogy nincs meg tobbe a relativ path-od...
- A hozzászóláshoz be kell jelentkezni