Action disabled: diff
scriptshell
Ceci est une ancienne révision du document !
Renommage de fichier
#!/bin/bash #exemple d'utilisation pour renommer tous les .mp4 en .avi: chext mp4 avi for file in *.$1 do #\" pour gérer les fichiers avec des espaces chaine=`echo "mv \"$file\" \"${file/$1/$2}\" "` #affichage echo $chaine #execution eval $chaine done =====Effacement automatique de plusieurs fichiers .html et dossiers _fichiers créés par firefox===== <file rmhtml.sh> #!/bin/sh for fich in `ls *.html` do rep=`echo "$fich" | cut -d'.' -f 1 ` #echo $rep rep2=`echo "$rep""_fichiers"` #echo $rep2 #echo rm -r "$rep2" #echo "rm $fich" rm -r $rep2 rm $fich done
Gestion de liens dynamiques
- cre.sh
#/bin/bash #(ne pas utiliser sh car l'IFS \n ne fonctionne pas!!!! ) #Auteur Bertrand VANDEPORTAELE 2013 #Ce script permet de construire une arborescence dans un dossier vide (définit par $DEST) dans laquelle des liens dynamiques #vont pointer vers des fichiers/dossiers respectant la même arborescence mais sur plusieurs disques distincts #Utile pour un média center avec plusieurs disques, on peut ainsi lister dans une même dossier le contenu des différents disque et naviguer comme s'il n'y avait qu'un disque #exemple: 2 disques durs /media/HD1 et /media/HD2, contenant chacun les dossiers hd et 3D #on cree sur ~/films/ les dossiers hd et 3D #puis on crée des liens symboliques de tous les fichiers /media/HD1/hd et /media/HD2/hd vers ~/films/hd # et de tous les fichiers /media/HD1/sd et /media/HD2/sd vers ~/films/sd #pour cela régler #DEST="~/films/" #LISTCAT=$'hd\nsd\n' #LISTDRV=$'/media/HD1\n/media/HD2\n' # il faut que la partition destination supporte les liens dynamiques #http://www.commentcamarche.net/faq/5027-comment-lire-un-fichier-ligne-par-ligne #http://bash.cyberciti.biz/guide/$IFS old_IFS=$IFS # sauvegarde de l'ancien séparateur de champ IFS=$'\n' #le séparateur par defaut (espace) ne va pas car les noms de fichiers listés peuvent en contenir mais doivent être traités en une seule fois #on règle un nouveau séparateur de champ, le caractère fin de ligne #emplacement pour stocker les liens dynamiques, doit pointer sur un dossier vide car on va y effacer tout les contenus des #dossiers catégories DEST="/home/bvdp/films/" #liste de noms de dossiers correspondant à des catégories #il faut le $ au début pour que le \n soit interpreté correctement comme un IFS LISTCAT=$'hd\nsd\n3D\nseries\n3Dsound\n' #liste de noms de dossiers ou rechercher les catégories LISTDRV=$'/media/HD2TO/\n/media/HD2TO2/\n/media/HD2TO3/\n/media/HD2TO4/\n/media/HD3TO1/\n/media/JY500GO\n' echo destination=$DEST #-------------------------------------------------------- #-------------------------------------------------------- #-------------------------------------------------------- #-------suppression des fichiers existants et création des dossiers si besoin--------------- rm $DEST/lnscript for i in $LISTCAT do echo $i rm $DEST/$i/* mkdir $DEST/$i #au cas ou ils n'existeraient pas done #-------------------------------------------------------- for i in $LISTCAT do echo $i #echo "next" for j in $LISTDRV do echo $j #echo "noxt" for fich in `ls $j/$i` do echo "ln -s \"$j/$i/$fich\" \"$DEST/$i/$fich\"" >>$DEST/lnscript echo $fich done done done #-------------------------------------------------------- bash $DEST/lnscript #éxecute le script de génération des liens symboliques IFS=$old_IFS # rétablissement du séparateur de champ par défaut
- test.vhdl
-------------------------------------------------------------------------------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity vgaB1 is port(clk50_in : in std_logic; x : out std_logic_vector(9 downto 0); y : out std_logic_vector(8 downto 0); red_in : in std_logic; green_in : in std_logic; blue_in : in std_logic; red_out : out std_logic; green_out : out std_logic; blue_out : out std_logic; hs_out : out std_logic; vs_out : out std_logic; clk25_out : out std_logic; inside_x : out std_logic; inside_y : out std_logic); end vgaB1; architecture behavioral of vgaB1 is signal clk25 : std_logic; signal hcounter : integer range 0 to 800; signal vcounter : integer range 0 to 521; signal color: std_logic_vector(2 downto 0); signal colorb: std_logic_vector(2 downto 0); begin -- generate a 25Mhz clock process (clk50_in) begin if clk50_in'event and clk50_in='1' then clk25 <= not clk25; end if; end process; clk25_out<=clk25; --------------------------------------------------- p2: process (clk25, hcounter, vcounter) variable x: integer range 0 to 639; variable y: integer range 0 to 479; begin -- hcounter counts from 0 to 799 -- vcounter counts from 0 to 520 -- x coordinate: 0 - 639 (x = hcounter - 144, i.e., hcounter -Tpw-Tbp) -- y coordinate: 0 - 479 (y = vcounter - 31, i.e., vcounter-Tpw-Tbp) x := hcounter - 144; y := vcounter - 31; if clk25'event and clk25 = '1' then -- To draw a pixel in (x0, y0), simply test if the ray trace to it -- and set its color to any value between 1 to 7. The following example simply sets -- the whole display area to a single-color wash, which is changed every one -- second. if x < 640 and y < 480 then -- colorbv := x mod 64; --il faut une puissance de 2 forcement pour le modulo colorbv := x /64; case colorbv is when 0 => colorb<= "000"; when 1 => colorb<= "001"; when 2 => colorb<= "010"; when 3 => colorb<= "011"; when 4 => colorb<= "100"; when 5 => colorb<= "101"; when 6 => colorb<= "110"; when others => colorb<= "111"; end case; -- -- with colorbv select -- colorb<= "000" when 0, -- "001" when 1, -- "010" when 2, -- "011" when 3, -- "100" when 4, -- "101" when 5, -- "110" when 6, -- "111" when others; red_out <= colorb(0); green_out <= colorb(1); blue_out <= colorb(2); else -- if not traced, set it to "black" color red_out <= '0'; green_out <= '0'; blue_out <= '0'; end if; -- Here is the timing for horizontal synchronization. -- (Refer to p. 24, Xilinx, Spartan-3 Starter Kit Board User Guide) -- Pulse width: Tpw = 96 cycles @ 25 MHz -- Back porch: Tbp = 48 cycles -- Display time: Tdisp = 640 cycles -- Front porch: Tfp = 16 cycles -- Sync pulse time (total cycles) Ts = 800 cycles if hcounter > 0 and hcounter < 97 then hs_out <= '0'; else hs_out <= '1'; end if; -- Here is the timing for vertical synchronization. -- (Refer to p. 24, Xilinx, Spartan-3 Starter Kit Board User Guide) -- Pulse width: Tpw = 1600 cycles (2 lines) @ 25 MHz -- Back porch: Tbp = 23200 cycles (29 lines) -- Display time: Tdisp = 38400 cycles (480 lines) -- Front porch: Tfp = 8000 cycles (10 lines) -- Sync pulse time (total cycles) Ts = 416800 cycles (521 lines) if vcounter > 0 and vcounter < 3 then vs_out <= '0'; else vs_out <= '1'; end if; -- horizontal counts from 0 to 799 hcounter <= hcounter+1; if hcounter = 800 then vcounter <= vcounter+1; hcounter <= 0; end if; -- vertical counts from 0 to 519 if vcounter = 521 then vcounter <= 0; end if; end if; end process; end behavioral;
scriptshell.1417770680.txt.gz · Dernière modification : 2014/12/05 10:11 de bvandepo