Portál AbcLinuxu, 30. dubna 2025 11:25
Zajimalo by mne jestli se nekdy (samovolne? nebo snad setrvacnosti?) stanu hardcorovym linuxarem, protoze nektete veci mi proste nejak nevoni, bud jsem na to moc liny, blby anebo uz prilis stary | mlady :)
Asi nikdy nezacnu pouzivat vim, Origin mam radsi nez gnuplot, pine/mutt snesu jen kdyz neni nic jineho, Gimp spoustim jen abych vyzkousel, zda se nainstaloval a jsem si jisty, ze sve svatebni oznameni nebudu sazet v LaTeXu a editovat vim-em, jako to delal muj kamarad. Diplomku ci disertaci jsem tak psal, to jo, o tom zadna. Stejne jako nedam dopustit trebas na skvely mplayer, LyX a jine
A vcera jsem po letech pouzivani Linuxu a trvale neschopnosti prekonat svou lenost a naucit se poradne BASH konecne pochopil, jak se maji psat skripty. Napsal jsem svuj prvni vicestrankovy skript a ted cekam jak mi ho zkritizujete a vylepsite :)
P.S. Nejsem programator a (snad) jim nikdy nebudu
P.P.S Nejhezci UNIX je stejne MAC OS X od Apple na mem iBooku
A ted slibeny skript
#!/bin/bash # Copyright (c) 2005 Jirka Cech. # # Author: Jirka Cech# # Attaches the scalebar picture unique for # each magnification to the set of pictures # as given by its filenames. # # sets the scalebar location PATH2SCALEBARS=~/TEMdata/bars/ test -x ${PATH2SCALEBARS} || echo wrong path to scalebars # set scalebar suffix B_SFX=".pgm" # set output files suffix O_SFX=".png" # set the real scalebar pictures B_220x="${PATH2SCALEBARS}220${B_SFX}" B_290x="${PATH2SCALEBARS}290${B_SFX}" B_380x="${PATH2SCALEBARS}380${B_SFX}" B_500x="${PATH2SCALEBARS}500${B_SFX}" B_660x="${PATH2SCALEBARS}660${B_SFX}" B_870x="${PATH2SCALEBARS}870${B_SFX}" B_1150x="${PATH2SCALEBARS}1150${B_SFX}" B_1500x="${PATH2SCALEBARS}1500${B_SFX}" B_2000x="${PATH2SCALEBARS}2000${B_SFX}" B_2750x="${PATH2SCALEBARS}2750${B_SFX}" B_3800x="${PATH2SCALEBARS}3800${B_SFX}" B_5000x="${PATH2SCALEBARS}5000${B_SFX}" B_6600x="${PATH2SCALEBARS}6600${B_SFX}" B_15000x="${PATH2SCALEBARS}15000${B_SFX}" B_20000x="${PATH2SCALEBARS}20000${B_SFX}" B_27500x="${PATH2SCALEBARS}27500${B_SFX}" B_38000x="${PATH2SCALEBARS}38000${B_SFX}" B_50000x="${PATH2SCALEBARS}50000${B_SFX}" B_66000x="${PATH2SCALEBARS}66000${B_SFX}" B_88000x="${PATH2SCALEBARS}88000${B_SFX}" B_115000x="${PATH2SCALEBARS}115000${B_SFX}" B_150000x="${PATH2SCALEBARS}150000${B_SFX}" B_200000x="${PATH2SCALEBARS}200000${B_SFX}" B_250000x="${PATH2SCALEBARS}250000${B_SFX}" echo "Path to scalebars is: $PATH2SCALEBARS"; # read all files where the magnification is the last # part of filename delimited by "-" for i in *.pgm ; do # echo "file is: $i" MAGNIF=`echo ${i%.pgm} | cut -d"-" -f2`; # echo "Magnification is: $MAGNIF"; case $MAGNIF in "220x") # echo "Attaching scalebar (mag 220x) $B_220x to the picture $i"; echo 220; montage -tile 1x2 -geometry +0+0 $i $B_220x ${i}_s${O_SFX} ;; "290x") echo 290; montage -tile 1x2 -geometry +0+0 $i $B_290x ${i}_s${O_SFX} ;; "380x") echo 380; montage -tile 1x2 -geometry +0+0 $i $B_380x ${i}_s${O_SFX} ;; "500x") echo 500; montage -tile 1x2 -geometry +0+0 $i $B_500x ${i}_s${O_SFX} ;; "660x") echo 660; montage -tile 1x2 -geometry +0+0 $i $B_660x ${i}_s${O_SFX} ;; "870x") echo 870; montage -tile 1x2 -geometry +0+0 $i $B_870x ${i}_s${O_SFX} ;; "1150x") echo 1150; montage -tile 1x2 -geometry +0+0 $i $B_1150x ${i}_s${O_SFX} ;; "1500x") echo 1500; montage -tile 1x2 -geometry +0+0 $i $B_1500x ${i}_s${O_SFX} ;; "2000x") echo 2000; montage -tile 1x2 -geometry +0+0 $i $B_2000x ${i}_s${O_SFX} ;; "2750x") echo 2750; montage -tile 1x2 -geometry +0+0 $i $B_2750x ${i}_s${O_SFX} ;; "3800x") echo 3800; montage -tile 1x2 -geometry +0+0 $i $B_3800x ${i}_s${O_SFX} ;; "5000x") echo 5k; montage -tile 1x2 -geometry +0+0 $i $B_5000x ${i}_s${O_SFX} ;; "6600x") echo 7k; montage -tile 1x2 -geometry +0+0 $i $B_6600x ${i}_s${O_SFX} ;; "15000x") echo 15k; montage -tile 1x2 -geometry +0+0 $i $B_15000x ${i}_s${O_SFX} ;; "20000x") echo 20k; montage -tile 1x2 -geometry +0+0 $i $B_20000x ${i}_s${O_SFX} ;; "27500x") echo 27k; montage -tile 1x2 -geometry +0+0 $i $B_27500x ${i}_s${O_SFX} ;; "38000x") echo 38k; montage -tile 1x2 -geometry +0+0 $i $B_38000x ${i}_s${O_SFX} ;; "50000x") echo 50k; montage -tile 1x2 -geometry +0+0 $i $B_50000x ${i}_s${O_SFX} ;; "66000x") echo 66k; montage -tile 1x2 -geometry +0+0 $i $B_66000x ${i}_s${O_SFX} ;; "88000x") echo 88k; montage -tile 1x2 -geometry +0+0 $i $B_88000x ${i}_s${O_SFX} ;; "115000x") echo 115k; montage -tile 1x2 -geometry +0+0 $i $B_115000x ${i}_s${O_SFX} ;; "150000x") echo 150k; montage -tile 1x2 -geometry +0+0 $i $B_150000x ${i}_s${O_SFX} ;; "200000x") echo 200k; montage -tile 1x2 -geometry +0+0 $i $B_200000x ${i}_s${O_SFX} ;; "250000x") echo 250k; montage -tile 1x2 -geometry +0+0 $i $B_250000x ${i}_s${O_SFX} ;; *) echo "${i}: unknown magnification" ;; esac done
Tiskni
Sdílej:
# Copyright (c) 2005 Jirka Cech. ^^^^^^^^^^^^^překlep?
Držím palce, určitě na to brzy přijdete
#!/bin/bash # Copyleft 2005 Hynek Pichi Vychodil. # # Author: Pichi # # Attaches the scalebar picture unique for # each magnification to the set of pictures # as given by its filenames. # # sets the scalebar location PATH2SCALEBARS=~/TEMdata/bars/ test -x ${PATH2SCALEBARS} || echo wrong path to scalebars >&2 # set scalebar suffix B_SFX=".pgm" # set output files suffix O_SFX=".png" echo "Path to scalebars is: $PATH2SCALEBARS" >&2 # read all files where the magnification is the last # part of filename delimited by "-" for file in *.pgm ; do # echo "file is: $file" >&2 name="${file%.pgm}" MAGNIF="${name##*-}" MAGNIFN="${MAGNIF%x}" # echo "Magnification is: $MAGNIF"; case "$MAGNIFN" in 220|290|380|500|660|870|1150|2000|2750|3800|5000|6600|15000|20000|27500|38000|50000|66000|88000|115000|150000|200000|250000) echo "$MAGNIFN" montage -tile 1x2 -geometry +0+0 "$file" "$PATH2SCALEBARS$MAGNIFN$B_SFX" "${name}_s$O_SFX" ;; *) echo "${file}: unknown magnification" ;; esac donea nebo ještě lépe místo case
sb_file="$PATH2SCALEBARS$MAGNIFN$B_SFX" if [ -r "$sb_file" ] then montage -tile 1x2 -geometry +0+0 "$file" "$sb_file" "${name}_s$O_SFX" || echo "Kolecko se polamalo" >&2 else echo "${file}: unknown magnification" fi
To hlavní ale zůstává. Pokud opakovaně zadáváte příkaz u kterého se mění parametr podle určitého pravidla(4. parametr, scalebar image), tak je to jenom nedostatek důvtipu zapsat to jedním příkazem. V některých případech, např. při vysokém počtu iterací, to ani jinak řešit nejde.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.