• Ismertető
  • Hírek
  • Letöltés
  • Súgó
  • Tananyag
  • Közösség
  • Ubuntu Women
ubuntu.hu

Hamarosan érkezik az Ubuntu következő kiadása

Belépés

Mi az az OpenID?
  • Belépés OpenID használatával
  • OpenID belépés megszakítása
  • Felhasználó létrehozása
  • Elfelejtett jelszó

Facebook

Kapcsolat

  • Identi.ca csoport
  • Facebook oldal
  • IRC
  • Közösségi levlista
  • Segítői levlista
  • Magyar Ubuntu Planet
  • További elérhetőségek

Teljes fájlrendszer tartalmának kiírása, megadott formátum szerint

2010. március 20. – 12.49 – Piotr
  • Egyéb témák

Kötprogot kéne írnom bash "nyelven" és nem tudom a parancsot ami a teljes fájlrendszer tartalmát kilistázná normális formában (ls -R ezt találtam, de ez gagyi formátumban írja)
Úgy kéne mint ls -l nél, csak az uccsó oszlopban fájlnevek helyett a full elérési vonal kéne
Aki tud , segítsen
Előre is köszönöm, és nem tudom hogy jó fórumba írtam-e

‹ blocked wine start Teljes fájlrendszer tartalmának kiírása, megadott formátum szerint ›
  • A hozzászóláshoz regisztráció és belépés szükséges
barii – 2010. március 20. 13.05

látom ismét sikerült a problémára utalni a címben

ls -Rl
?

  • A hozzászóláshoz regisztráció és belépés szükséges

 

decoati – 2010. március 20. 13.10

Nézd meg a find -printf kapcsolóját, ezzel talán össze tudsz rakni olyan formátumot ami számodra is "normális".

  • A hozzászóláshoz regisztráció és belépés szükséges

ül, kussol, kulturáltan szórakozik

Piotr – 2010. március 20. 14.20

ls -Rl nem jó, már próbáltam

itt van maga a feladat:
Írjon szkriptet, mely paraméterül egy fájl elérési útvonalát kapja.
A fájl pontosan 1 sort tartalmaz,
melyben szóközökkel elválasztva szavak találhatóak.
A szkript megkeresi a fájlrendszerben azokat az állományokat, melyeknek neve
tartalmazza a fájlban található szavak valamelyikét.
A szkript kimenete ezen állományok közül azoknak az elérési útja, melyekre az
aktuális felhasználó rendelkezik írási joggal. Figyeljen arra, hogy a megtalált
állomány nem feltétlenül az aktuális felhasználó, vagy annak csoportjának
tulajdona!

és eddig jutottam: itt kéne hogy hogy tudom a full elérési útvonalat "greppelni"

cat $1 > feladat.txt
cat feladat.txt | tr -s " " "\n" > igy.txt
SOROK=0
SOROK=`wc -l igy.txt | cut -b 1`
for ((i=1;i<=$SOROK;i++))
do ls -l | grep `head -n$i igy.txt | tail -1`

done

  • A hozzászóláshoz regisztráció és belépés szükséges

 

simzer – 2010. március 20. 14.31 – előzmény

ls helyett find-al jobban járnál, ill. a read parancs hasznos lehet a paraméterek fájlból beolvasásához.

  • A hozzászóláshoz regisztráció és belépés szükséges

 

maat – ubuntu.hu szerkesztő – 2010. március 20. 15.13 – előzmény

Én így csinálnám. Viszont ha $1-ben csúnya szavak (pl `ρμ -rf /`) vannak, azokat végrehajtja.

for i in `cat $1`;
do
  find ${2:-/} -name "*$i*"
done | sort -u |\
while read f
do
  if [ -w "$f" ]
  then
    ls -ld "$f"
  fi
done
  • A hozzászóláshoz regisztráció és belépés szükséges

 

Piotr – 2010. március 21. 0.37

Köszönöm a tippeket, de a saját magam által kigondolt ösvényen szeretnék végigmenni (megírni a scriptet)
find parancs jó volt, most itt vagyok:

cat $1 | tr -s " " "\n" > igy.txt
SOROK=0
SOROK=`wc -l igy.txt | cut -b 1`
for ((i=1;i<=$SOROK;i++))
do find / -printf %M | grep `head -n$i igy.txt | tail -1`

done

ide a %M helyére nem tudom hogy hogy kéne megadni hogy elérési útvonal + jogok írodjanak (vki pls írja meg). Valamint ha futtatom a programot simán printf kapcsoló nélkül, akkor ahogy keres a fájlrendszerben folyton "elérés megtagadva" üzeneteket dobál, azokat hogy lehet elkerülni? Ha ezeket tudnám utána a mosta grep-re csővezetékkel rádobnék még1 grept arra még1et +1 cut és szerintem úgy jó is lenne.

  • A hozzászóláshoz regisztráció és belépés szükséges

 

Piotr – 2010. március 21. 14.59

cat $1 | tr -s " " "\n">igy.txt
SOROK=`wc -l igy.txt | cut -b 1`
for ((i=1;i<=$SOROK;i++))
do
find / -printf %p' '%M'\n' | grep `head -n$i igy.txt | tail -1`
done

most itt vagyok, ez már kiírja az elérési útvonalat meg a jogokat
maga a feladat:
" A szkript kimenete ezen állományok közül azoknak az elérési útja, melyekre az
aktuális felhasználó rendelkezik írási joggal. Figyeljen arra, hogy a megtalált
állomány nem feltétlenül az aktuális felhasználó, vagy annak csoportjának
tulajdona!"
három kérdésem van:
1: szóval ezt még meg kéne szűrni jogok szerint , csak nem tudom hogy hogy is kéne hogy a kiírásnak eleget tegyen.
2: hogy tudom szűrni hogy csak a fájlnevekben keressen?
3: kivágni az így kapott lista végéről a jogokat

  • A hozzászóláshoz regisztráció és belépés szükséges

 

Hozzászólás-megjelenítési lehetőségek

A választott hozzászólás-megjelenítési mód a „Beállítás” gombbal rögzíthető.
© 2007–2011. Magyar Ubuntu Közösség.
Az Ubuntu a Canonical bejegyzett védjegye.
Az ubuntu.hu az fsf.hu kiszolgálóin fut.