Stránka 1 z 1
Pomozte s bash scriptem na rekurzivní procházení adresářů *
Napsal: 03 led 2012 09:32
od symetrala
Umí někdo napasat skript pro toto v linuxu(v bashi):
Vytvořte skript, který bude rekurzivně procházet adresářovou strukturu a u všech textových souborů, které mohou fungovat jako skripty nastavte příznak pro spouštění.
Re: Linux program???
Napsal: 03 led 2012 16:52
od faraon
Jak poznáš že textový soubor může fungovat jako skript? Já tu mám skripty pro bash, perl, python a basic... Které z nich chceš detekovat?
Zkus nejdřít použít man bash, s důrazem na if a for. Také by se mohly hodit třeba grep a chmod.
Předpokládám že máš po ruce běžící Linux, protože bez toho tenhle úkol neuděláš.
Re: Linux program???
Napsal: 03 led 2012 17:32
od symetrala
mam bezici linux po ruce, no hodilo by se mi to pomoci grep a chmod :) Dokazes to napsat? Jde o to, ze potrebuju aby se rozeznalo jestli jde o text.soubor nebo sh, a to si myslim , ze by to slo porovnavat podle prvni radku (1- head)...ale nevim, ani jak to zapsat.chci samozrejme bash skript....
Re: Linux program???
Napsal: 03 led 2012 22:45
od faraon
Tak už jsi na něco přišel? Ten
head mi připadá jako dobrý nápad. Třeba by šlo využít návratovou hodnotu
grep, koukni na tohle:
Kód: Vybrat vše
faraon@tuxbox:~$ head -1 deltacad.sh|grep /bin/bash
#! /bin/bash
faraon@tuxbox:~$ echo $?
0
faraon@tuxbox:~$ head -1 deltacad.sh|grep /bin/basic
faraon@tuxbox:~$ echo $?
1
To by se dalo testovat
A aby se ten řádek co projde zbytečně nevypisoval, můžeš ho přesměrovat
head -1 deltacad.sh|grep /bin/bash>/dev/nullNejdřív vymysli co s těmi adresáři, jak je rekurzivně projít a prozkoumat soubory v nich...
http://atrey.karlin.mff.cuni.cz/~johank ... _unix.htmlhttp://www.cmsps.cz/~marlib/g7/soubory/14.html
Re: Linux program???
Napsal: 03 led 2012 23:56
od symetrala
v tom je ten problem no :)
Re: Pomozte s bash scriptem na rekurzivní procházení adresář
Napsal: 05 led 2012 04:52
od faraon
Zkus se podívat co dělá find, ten s parametrem -exec může pro nalezené soubory provést libovolný příkaz, nebo sekvenci.