[Assorted-commits] SF.net SVN: assorted:[1434] shell-tools/trunk/src/bash-commons/common.bash
Brought to you by:
yangzhang
From: <yan...@us...> - 2009-05-25 18:33:03
|
Revision: 1434 http://assorted.svn.sourceforge.net/assorted/?rev=1434&view=rev Author: yangzhang Date: 2009-05-25 18:32:50 +0000 (Mon, 25 May 2009) Log Message: ----------- tweaked cpbkup; refactored symlink-tree into cp-tree-skel, op-tree-files, cp-tree, symlink-tree; added printable-slides Modified Paths: -------------- shell-tools/trunk/src/bash-commons/common.bash Modified: shell-tools/trunk/src/bash-commons/common.bash =================================================================== --- shell-tools/trunk/src/bash-commons/common.bash 2009-05-25 18:31:33 UTC (rev 1433) +++ shell-tools/trunk/src/bash-commons/common.bash 2009-05-25 18:32:50 UTC (rev 1434) @@ -106,7 +106,9 @@ cpbkup() { eval "$get_all_opts" for file in "$@" ; do - cp $opts "$file" "$file.backup" + dst="$( echo "$file" | sed 's/\/\+$//' ).backup" + echo cp $opts "$file" "$dst" + cp $opts "$file" "$dst" done } @@ -467,14 +469,35 @@ done } -symlink-tree() { +# Reproduce a dir tree (just the dirs). +cp-tree-skel() { local src="$1" dst="$2" find "$src" -type d -printf '%P\0' | xargs -0 -I_ mkdir -p "$dst/_" +} + +# op-tree <src> <dst> <op> [<op args...>] +# Performs operation on each file in the tree. +op-tree-files() { + local src="$1" dst="$2" find "$src" -not -type d -printf '%P\0' | - xargs -0 -I_ ln -s "$( realpath "$src" )/_" "$dst/_" + xargs -0 -I_ "$@" "$( realpath "$src" )/_" "$dst/_" } +# Make a deep copy of a directory. +cp-tree() { + local src="$1" dst="$2" + cp-tree-skel "$src" "$dst" + op-tree-files "$src" "$dst" cp +} + +# Make a deep symlink copy of a directory. +symlink-tree() { + local src="$1" dst="$2" + cp-tree-skel "$src" "$dst" + op-tree-files "$src" "$dst" ln -s +} + rm-empty-dirs() { find "${1:-.}" -type d -empty -print0 | xargs -0r rmdir -p } @@ -526,6 +549,10 @@ sed -i 's/Standards-Version: .*/Standards-Version: 3.8.0/' debian/control } +printable-slides() { + pdfnup --paper letterpaper --nup 2x3 --frame true --scale .9 "$@" +} + flac2mp3() { for i in "$@" do flac -cd "$i" | lame - "${i%flac}mp3" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |