shell_patterns=0
#250106 sfs
+ ! t t
@       Действие над файлом
#@       Do something on the current file
	CMD=%{Enter command}
#	CMD=%{Введите команду}
	$CMD %f

+ t t
@       Действие над файлами
#@       Do something on the tagged files
	set %t; CMD=%{Enter command}
	while [ -n "$1" ]; do
	  $CMD "$1"
	  shift
	done
	

#0       Edit a bug report and send it to root
#	I=`mktemp "${MC_TMPDIR:-/tmp}/mail.XXXXXX"` || exit 1
#	${EDITOR-vi} "$I"
#	test -r $I && mail root < $I
#	rm -f "$I"

#=+ f \.1$ | f \.3$ | f \.4$ | f \.5$ | f \.6$ | f \.7$ | f \.8$ | f \.man$ & t r
##=+ f \.1.gz$ | f \.3.gz$ | f \.4.gz$ | f \.5.gz$ | f \.6.gz$ | f \.7.gz$ | f \.8.gz$ | f \.man$ & t r
#1       Display the file with roff -man
#	nroff -man %f | less

#2       Call the info hypertext browser
#        info

= t d
3       tar.gz текущую директорию
	Pwd=`basename %d /`
	echo -n "Введите имя файла (без расширения) [$Pwd]: "
	read tar
        if [ "$tar"x = x ]; then tar="$Pwd"; fi
	cd .. && \
	tar cf - "$Pwd" | gzip -f9 > "$tar.tar.gz" && \
	echo "../$tar.tar.gz создан."

4       tar.bz2 текущую директорию
	Pwd=`basename %d /`
	echo -n "Введите имя файла (без расширения) [$Pwd]: "
	read tar
        if [ "$tar"x = x ]; then tar="$Pwd"; fi
	cd .. && \
	tar cf - "$Pwd" | bzip2 -f > "$tar.tar.bz2" && \
	echo "../$tar.tar.bz2 создан."

#5       Сжать текущую директорию (tar.p7)
#	Pwd=`basename %d /`
#	echo -n "Введите имя файла (без расширения) [$Pwd]: "
#	read tar
#        if [ "$tar"x = x ]; then tar="$Pwd"; fi
#	cd .. && \
#	tar cf - "$Pwd" | 7za a -si "$tar.tar.7z" && \
#	echo "../$tar.tar.7z создан."

#6       Сжать текущую директорию (tar.lzma)
#	Pwd=`basename %d /`
#	echo -n "Введите имя файла (без расширения) [$Pwd]: "
#	read tar
#        if [ "$tar"x = x ]; then tar="$Pwd"; fi
#	cd .. && \
#	tar cf - "$Pwd" | lzma -f > "$tar.tar.lzma" && \
#	echo "../$tar.tar.lzma создан."

#7       Сжать текущую директорию (tar.lz)
#	Pwd=`basename %d /`
#	echo -n "Введите имя файла (без расширения) [$Pwd]: "
#	read tar
#        if [ "$tar"x = x ]; then tar="$Pwd"; fi
#	cd .. && \
#	tar cf - "$Pwd" | lzip -f > "$tar.tar.lz" && \
#	echo "../$tar.tar.lz создан."

7       tar.zst  текущую директорию
        Pwd=`basename %d /`
        echo -n "Введите имя файла (без расширения) [$Pwd]: "
        read tar
        [ "$tar"x = x ] && tar="$Pwd"
        cd .. && \
        tar cf - "$Pwd" | zstd -f > "$tar.tar.zst" && \
        echo "../$tar.tar.zst создан."

8       tar.xz текущую директорию
	Pwd=`basename %d /`
	echo -n "Введите имя файла (без расширения) [$Pwd]: "
	read tar
        if [ "$tar"x = x ]; then tar="$Pwd"; fi
	cd .. && \
	tar cf - "$Pwd" | xz -f > "$tar.tar.xz" && \
	echo "../$tar.tar.xz создан."

9       zip текущую директорию
	Pwd=`basename %d /`
	echo -n "Введите имя файла (без расширения) [$Pwd]: "
	read zip
        if [ "$zip"x = x ]; then zip="$Pwd"; fi
	if [ "`which zip`" ] ;then
	cd .. && \
	zip -r "$zip.zip"  "$Pwd"   && \
	echo "../$zip.zip создан." && exit
	else
	cd .. && \
	bsdtar  cf "$zip.zip" --format zip "$Pwd"   && \
	echo "../$zip.zip создан." && exit
	fi
	echo "zip и bsdtar не найдены"

0       zip многотомный текущую директорию
	[ ! "`which zip`" ] && echo "zip не найден" && exit
	Pwd=`basename %d /`
	echo -n "Введите имя файла (без расширения) [$Pwd]: "
	read zip
	echo -n "Введите размер тома (Mb) [100m]: "
	read tom
        [ "$tom" ] || tom=100m 
        if [ "$zip"x = x ]; then zip="$Pwd"; fi
	cd .. && \
	zip -s "$tom" -r "$zip.zip"  "$Pwd"   && \
	echo "../$zip.zXX создан." && exit


#s       sfs текущую директорию 
#	Pwd=`basename %d /`
#	echo -n "Введите имя файла (без расширения) [$Pwd]: "
#	read sfs
#        if [ "$sfs"x = x ]; then sfs="$Pwd"; fi
#	cd .. && \
#	mksquashfs "$Pwd" $sfs.sfs  && echo "../$sfs.sfs создан."
##	dir2sfs   "$Pwd"   && \
##	echo "../$Pwd_520.sfs создан." 

S       sfs xz текущую директорию 
	Pwd=`basename %d /`
	echo -n "Введите имя файла (без расширения) [$Pwd]: "
	read sfs
        if [ "$sfs"x = x ]; then sfs="$Pwd"; fi
	cd .. && \
	mksquashfs "$Pwd" $sfs.sfs -comp xz -Xbcj x86 && echo "../$sfs.sfs xz создан."

s       pfs gz текущую директорию
	Pwd=`basename %d /`
	echo -n "Введите имя файла (без расширения) [$Pwd]: "
	read sfs
	[ "$sfs" ] || sfs="$Pwd"
	cd .. && \
	#mkpfs -g "$Pwd" -p "$sfs" && echo "../$sfs.pfs gz создан."
	mkpfs -f "$Pwd" -o "$sfs".pfs && echo "../$sfs.pfs gz создан."

P       pfs zstd текущую директорию
	Pwd=`basename %d /`
	echo -n "Введите имя файла (без расширения) [$Pwd]: "
	read sfs
	#echo "=$sfs="
	[ "$sfs" ] || sfs="$Pwd"
	cd .. && \
	mkpfs    "$Pwd" -o "$sfs".pfs --mksqfs -b 512K -comp zstd -Xcompression-level 18  && echo "../$sfs.pfs xz создан."

p       pfs xz текущую директорию
	Pwd=`basename %d /`
	echo -n "Введите имя файла (без расширения) [$Pwd]: "
	read sfs
	#echo "=$sfs="
	[ "$sfs" ] || sfs="$Pwd"
	cd .. && \
	#mkpfs    "$Pwd" -p "$sfs" && echo "../$sfs.pfs xz создан."
	mkpfs    "$Pwd" -o "$sfs".pfs && echo "../$sfs.pfs xz создан."

M       Pfsmerge zstd текущую директорию
	Pwd="`basename %d /`"
	Pwd1="`echo $Pwd|sed 's/_pfs$//'`"
	pfs="`ls -1 "%d" |egrep '.pfs$'`"
	[ "$pfs" ] && m="модулей.pfs:\n\n`ls -1 *.pfs`\n\n" || m="каталогов "
	printf "Объединение $mиз\n%d\nв составной модуль.pfs\n\nВведите имя файла (без расширения) [$Pwd1]: "
	read sfs
        [ "$sfs" ] && sfs="$sfs" || sfs="$Pwd1"
	cd .. 
	if [ "$pfs" ];then
	     #pfsmerge "$Pwd" ./$sfs.pfs && echo "../$sfs.pfs создан."
	    mkpfs -m "$Pwd" -o ./$sfs.pfs  --mksqfs -b 512K -comp zstd -Xcompression-level 18 && echo "../$sfs.pfs создан."
	else 
	    #pfsmerge-dir "$Pwd"        && echo "../$sfs.pfs создан."
	    mkpfs -d "$Pwd" -o ./$sfs.pfs  --mksqfs -b 512K -comp zstd -Xcompression-level 18 && echo "../$sfs.pfs создан."
	fi

m       Pfsmerge xz текущую директорию
	Pwd="`basename %d /`"
	Pwd1="`echo $Pwd|sed 's/_pfs$//'`"
	pfs="`ls -1 "%d" |egrep '.pfs$'`"
	[ "$pfs" ] && m="модулей.pfs:\n\n`ls -1 *.pfs`\n\n" || m="каталогов "
	printf "Объединение $mиз\n%d\nв составной модуль.pfs\n\nВведите имя файла (без расширения) [$Pwd1]: "
	read sfs
        [ "$sfs" ] && sfs="$sfs" || sfs="$Pwd1"
	cd .. 
	if [ "$pfs" ];then
	     #pfsmerge "$Pwd" ./$sfs.pfs && echo "../$sfs.pfs создан."
	    mkpfs -m "$Pwd" -o ./$sfs.pfs && echo "../$sfs.pfs создан."
	else 
	    #pfsmerge-dir "$Pwd"        && echo "../$sfs.pfs создан."
	    mkpfs -d "$Pwd" -o ./$sfs.pfs && echo "../$sfs.pfs создан."
	fi

= f \.c$ & t r
+ f \.c$ & t r & ! t t
        Compile and link current .c file
        make `basename %f .c` 2>/dev/null || cc -O -o `basename %f .c` %f

#+ t r & ! t t
#a       Append file to opposite
#	cat %f >> %D/%f

#+ t t
#A       Append files to opposite files
#	set %t
#	while [ -n "$1" ]; do
#	  cat "$1" >> "%D/$1"
#	  shift
#	done

+ t r & ! t t
d       Delete file if a copy exists in the other directory.
	if [ "%d" = "%D" ]; then
	  echo "The two directories must be different."
	  exit 1
	fi
	if [ -f %D/%f ]; then        # if two of them, then
          if cmp -s %D/%f %f; then
            rm %f && echo "%f: DELETED."
          else
            echo "%f and %D/%f differ: NOT deleted."
            echo -n "Press RETURN "
            read key
          fi
	else
	  echo "%f: No copy in %D/%f: NOT deleted."
        fi

+ t t
D       Delete tagged files if a copy exists in the other directory.
	if [ "%d" = "%D" ]; then
	  echo "The two directores must be different."
	  exit 1
	fi
        for i in %t
        do
          if [ -f "%D/$i" ]; then
            SUM1="`sum $i`"
            SUM2="`sum %D/$i`"
            if [ "$SUM1" = "$SUM2" ]; then
	      rm "$i" && echo "${i}: DELETED."
	    else
	      echo "$i and %D/$i differ: NOT deleted."
	    fi
	  else
	    echo "%f has no copy in %D/%f: NOT deleted."
          fi
        done

#m       View manual page
#	MAN=%{Enter manual name}
#	%view man -P cat $MAN

#= f \.gz$ & t r
#+ ! t t
#n       Inspect gzip'ed newsbatch file
#        dd if=%f bs=1 skip=12|zcat|${PAGER-more}
#        # assuming the cunbatch header is 12 bytes long.

#= t r &
#+ ! t t
#h       Strip headers from current newsarticle
#	CHECK=`awk '{print $1 ; exit}' %f` 2>/dev/null
#	case "$CHECK" in
#	  Newsgroups:|Path:)
#	      I=`mktemp "${MC_TMPDIR:-/tmp}/news.XXXXXX"` || exit 1
#	      cp %f "$I" && sed '/^'"$CHECK"' /,/^$/d' "$I" > %f
#              [ "$?" = "0" ] && rm "$I"
#	      echo "%f: header removed."
#		;;
#	  *)
#	      echo "%f is not a news article."
#		;;
#	esac

#+ t t
#H       Strip headers from the marked newsarticles
#	set %t
#	while [ -n "$1" ]; do
#	  CHECK=`awk '{print $1 ; exit}' $1` 2>/dev/null
#	  WFILE=`mktemp "${MC_TMPDIR:-/tmp}/news.XXXXXX"` || exit 1
#	  case "$CHECK" in
#	    Newsgroups:|Path:)
#	      cp "$1" "$WFILE" && sed '/^'"$CHECK"' /,/^$/d' "$WFILE" > "$1"
#              if [ "$?" = "0" ]; then
#		rm "$WFILE"; echo "$1 header removed. OK."
#	      else
#		echo "Oops! Please check $1 against $WFILE."
#	      fi
#		;;
#	    *)
#	      echo "$1 skipped: Not a news article."
#		;;
#	  esac
#	  shift
#	done

#= t r
#+ ! t t
#r       Copy file to remote host
#	echo -n "To which host?: "
#        read Host
#        echo -n "To which directory on $Host?: "
#        read Dir
#        rcp -p %f "${Host}:$Dir"

#+ t t
#R       Copy files to remote host (no error checking)
#	echo -n "Copy files to which host?: "
#        read Host
#        echo -n "To which directory on $Host? :"
#        read Dir
#        rcp -pr %u "${Host}:$Dir"

= f \.tex$ & t r
+ f \.tex$ & t r & ! t t
t       Run latex on file and show it with xdvi
        latex %f && xdvi `basename %f .tex`.dvi

=+ f ^part | f ^Part | f uue & t r
+ t t
U       Uudecode marked news articles (needs work)
	set %t
        (
	while [ -n "$1" ]; do # strip headers
	  FIRST=`awk '{print $1 ; exit}' "$1"`
	  cat "$1" | sed '/^'"$FIRST"' /,/^$/d'; shift
	done
	) |sed '/^$/d' |sed -n '/^begin 6/,/^end$/p' | uudecode
	if [ "$?" != "0" ]; then
	  echo "Cannot decode %t."
	fi
	echo "Please test the output file before deleting anything."

=+ f \.z01 & t r
s       Склеить многотомный zip .z01 .z02
	[ ! "`which zip`" ] && echo "zip не найден" && exit
	zn="`basename %f .z01`+.zip"
	echo -n "Введите имя склеенного файла ($zn): "
        read znm
        [ "$znm" ] || znm="$zn"
        zip -s 0 "`basename %f .z01`".zip  --out "$znm" && echo "$znm склеен."
    	    


=+ f \.tar\.gz$ | f \.tar\.zst | f \.tar\.z$ | f \.tgz$ | f \.tpz$ | f \.tar\.lz$ | f \.tar\.lzma$ | f \.tar\.7z$ | f \.tar\.xz$ | f \.tar\.Z$ | f \.tar\.bz2$ & t r
#x       Extract the contents of a compressed tar file
x       Распаковать tar файл
	unset PRG
	case %f in
	    *.tar.zst)
		d="`basename %f .tar.zst`"
		mkdir "$d" && cd "$d"
		PRG="zstd -dc"
		;;
	    *.tar.bz2)
		d="`basename %f .tar.bz2`"
		mkdir "$d" && cd "$d"
		PRG="bunzip2 -c"
		;;
	    *.tar.gz|*.tar.z|*.tgz|*.tpz|*.tar.Z)
		d="`basename %f |sed 's/.t[a-p][rz]//'`"
		mkdir "$d" && cd "$d"
		PRG="gzip -dc"
		;;
	    *.tar.lzma)
		d="`basename %f .tar.lzma`"
		mkdir "$d" && cd "$d"
		PRG="lzma -dc"
		;;
	    *.tar.lz)
		d="`basename %f .tar.lz`"
		mkdir "$d" && cd "$d"
		PRG="lzip -dc"
		;;
	    *.tar.xz)
		d="`basename %f .tar.xz`"
		mkdir "$d" && cd "$d"
		PRG="xz -dc"
		;;
	    *.tar.7z)
		d="`basename %f .tar.7z`"
		mkdir "$d" && cd "$d"
		PRG="7za e -so"
		;;
	    *)
		exit 1
		;;
	esac
	$PRG ../%f | tar xvf -

= t r
+ ! t t
X       Xz или unxz текущий файл
        unset DECOMP
	case %f in
	    *.xz) DECOMP=-d;;
	esac
        xz $DECOMP -v %f

= t r
+ ! t t
y       Gzip или gunzip текущий файл
        unset DECOMP
	case %f in
	    *.gz) DECOMP=-d;;
	    *.[zZ]) DECOMP=-d;;
	esac
        gzip $DECOMP -v %f

+ t t
Y       Gzip или gunzip помеченные файлы
        for i in %t
        do
          unset DECOMP
	  case "$i" in
	    *.gz) DECOMP=-d;;
	    *.[zZ]) DECOMP=-d;;
	  esac
          gzip $DECOMP -v "$i"
        done

= t r
+ ! t t
z       Zstd или unzstd текущий файл
        unset DECOMP
	case %f in
	    *.zst) DECOMP=-d;;
	esac
        zstd $DECOMP -v %f

+ t t
z       Zstd или unzstd помеченные файлы
        for i in %t
        do
          unset DECOMP
	  case "$i" in
	    *.zst) DECOMP=-d;;
	  esac
          zstd $DECOMP -v "$i"
        done

= t r
+ ! t t
b       Bzip2 или bunzip2 текущий файл
        unset DECOMP
	case %f in
	    *.bz2) DECOMP=-d;;
	esac
        bzip2 $DECOMP -v %f

+ t t
B       Bzip2 или bunzip2 помеченные файлы
        for i in %t
        do
          unset DECOMP
	  case "$i" in
	    *.bz2) DECOMP=-d;;
	  esac
          bzip2 $DECOMP -v "$i"
        done

+ t t
X       Xz или unxz помеченные файлы
        for i in %t
        do
          unset DECOMP
	  case "$i" in
	    *.xz) DECOMP=-d;;
	  esac
          xz $DECOMP -v "$i"
        done

= t r
+ ! t t
e       Zip или unzip текущий файл
        unset DECOMP
	case %f in
	    *.zip) 
	    unzip %f || bsdtar xf %f
	    exit
	    ;;
	esac
        zip %f.zip %f || bsdtar cf %f.zip --format zip %f


+ t t
E       Zip или unzip помеченные файлы
        for i in %t
	do
        unset DECOMP
	case "$i" in
	    *.zip) 
	    unzip "$i"
	    exit
	    ;;
	esac
        zip "$i".zip "$i"
	done

F       Помеченнoe в zip
    	Pwd=`basename %d /`
	echo -n "Введите имя файла (без расширения) [$Pwd]: "
	read tar
        if [ "$tar"x = x ]; then tar="$Pwd"; fi
        zip -r "$tar" %t && 	echo "../$tar.zip создан."

+ f \.tar.gz$ | f \.tgz$ | f \.tpz$ | f \.tar.Z$ | f \.tar.z$ | f \.tar.bz2$ | f \.tar.F$ & t r & ! t t
z       Extract compressed tar file to subdirectory
	unset D
	set gzip -cd
	case %f in
	  *.tar.gz) D="`basename %f .tar.gz`";;
	  *.tgz)    D="`basename %f .tgz`";;
	  *.tpz)    D="`basename %f .tpz`";;
	  *.tar.Z)  D="`basename %f .tar.Z`";;
	  *.tar.z)  D="`basename %f .tar.z`";;
	  *.tar.bz2) D="`basename %f .tar.bz2`"; set bunzip2 -c ;;
	  *.tar.F) D="`basename %f .tar.F`"; set freeze -dc;
	esac
	mkdir "$D"; cd "$D" && ("$1" "$2" ../%f | tar xvf -)

+ t t
Z       Extract compressed tar files to subdirectories
	for i in %t
        do
	  set gzip -dc
          unset D
	  case "$i" in
	    *.tar.gz)  D="`basename $i .tar.gz`";;
	    *.tgz)     D="`basename $i .tgz`";;
	    *.tpz)     D="`basename $i .tpz`";;
	    *.tar.Z)   D="`basename $i .tar.Z`";;
	    *.tar.z)   D="`basename $i .tar.z`";;
	    *.tar.F)   D="`basename $i .tar.F`"; set freeze -dc;;
	    *.tar.bz2) D="`basename $i .tar.bz2`"; set bunzip2 -c;;
          esac
	  mkdir "$D"; (cd "$D" && "$1" "$2" "../$i" | tar xvf -)
        done

+ f \.gz$ | f \.tgz$ | f \.tpz$ | f \.Z$ | f \.z$ | f \.bz2$ & t r & ! t t
c       Convert gz<->bz2, tar.gz<->tar.bz2 & tgz->tar.bz2
	unset D
	unset EXT
	case %f in
	    *.tgz)	EXT=tgz;;
	    *.tpz)	EXT=tpz;;
	    *.Z)	EXT=Z;;
	    *.z)	EXT=z;;
	    *.gz)	EXT=gz;;
	    *.bz2)	EXT=bz2;;
	esac
        case $EXT in
	  tgz|tpz)	D="`basename %f .$EXT`.tar";;
	  gz|Z|z)	D="`basename %f .$EXT`";;
	  bz2)		D="`basename %f .bz2`";;
        esac
        if [ "$EXT" = "bz2" ]; then
	    bunzip2 -v %f ; gzip -f9 -v "$D"
	else
	    gunzip -v %f ; bzip2 -v "$D"
	fi

+ t t
C       Convert gz<->bz2, tar.gz<->tar.bz2 & tgz->tar.bz2
	set %t
	while [ -n "$1" ]
        do
	  unset D
	  unset EXT
	  case "$1" in
	    *.tgz)	EXT=tgz;;
	    *.tpz)	EXT=tpz;;
	    *.Z)	EXT=Z;;
	    *.z)	EXT=z;;
	    *.gz)	EXT=gz;;
	    *.bz2)	EXT=bz2;;
	  esac
	  case $EXT in
	      tgz)    D="`basename $1 .tgz`.tar";;
              tpz)    D="`basename $1 .tpz`.tar";;
	      gz|Z|z) D="`basename $1 .$EXT`";;
	      bz2)    D="`basename $1 .bz2`";;
	  esac
	  if [ "$EXT" = "bz2" ]; then
	    bunzip2 -v "$1"
	    gzip -f9 -v "$D"
	  else
	    gunzip -v "$1"
	    bzip2 -v "$D"
	  fi
	  shift
        done

+ x /usr/bin/open | x /usr/local/bin/open & x /bin/sh
o       Open next a free console
        open -s -- sh

=+ f \.sfs$ | f \.squashfs$ & t r
l       Подключить модуль.sfs
	#[ -n "`which load_sfs`" ] && load_sfs %f &
	#[ -n "`which sfs_load`" ] && sfs_load %f &
	#[ -n "`which sfsmnt`" ] && sudo sfsmnt %f &
	if [ "`pgrep X`" ] || [ "$XDG_SESSION_TYPE" = "wayland" ] ;then
	    `which sudo` mnt_sfs %f &&  sfsstart %f &  #|| ([ -n "`which pfsload`" ] && sudo pfsload %f) &
	else
	    `which sudo` pfsload %f &&  sfsstart %f &
	fi
	#usr=`ps axu |awk '/startx/ && !/grep/ {print $1}'`
	#[ -n "`which sudo`" ] && sudo="sudo -u $usr"
	##echo %d/%p >>/tmp/SFS_MNT
        #($sudo `echo %f |awk -F_ '{print $1}'` || $sudo `echo %f |awk -F- '{print $1}'`) &

=+ f \.pfs$ & t r
l       Подключить модуль.pfs
	if [ "`pgrep X`" ] || [ "$XDG_SESSION_TYPE" = "wayland" ] ;then
	    #`which sudo` open_pfs %f && sfsstart %f &
	    `which sudo` open_pfs %f &
	else
	    `which sudo` pfsload %f && sfsstart %f &
	fi

=+ f \.sfs$ & t r
u       Unsquashfs модуль.sfs
	`which sudo` unsquashfs -d "`basename %f .sfs`" %f 

=+ f \.pfs$ & t r
u       Pfsextract модуль.pfs
	#if [ "`pfsinfo "%f" |wc -l`" -gt 1 ];then
	     `which sudo` pfsextract -d "%f"
	#else `which sudo` unsquashfs -d "`basename "%f" .pfs`" "%f"
	#fi

=+ f \.tazpkg$ & t r
u       Распаковать пакет slitaz .tazpkg
	`which sudo` tazpkg2dir %f 

=+ f \.pfs$ & t r
E       Editor_pfs модуль.pfs
	`which sudo` editor_pfs %f &

=+ f \.sfs$ & t r
c       Конвертировать модуль sfs -> pfs
	d="`basename %f .sfs`"
	`which sudo` unsquashfs -d "$d" %f && mkpfs "$d" && rm -r "$d"

=+ f \.deb$  & t r
С       Распаковать .deb dpkg-deb
        dpkg-deb -R  %f `basename %f .deb` 

#=+ d initrd.* | d initramfs.*
=+ d DEBIAN
# & t r
d       Собрать .deb
	[ -f `pwd`.deb ] && mv `pwd`.deb `pwd`.deb."`date +%%y%%m%%d-%%H%%M`"
        dpkg-deb -b `pwd` `pwd`.deb 
    
=+ f \.deb$  & t r

#=+ f \.rpm$  & t r
#rpm2pet	rpm -> pet
#        rpm2pet %f

##=+ f \.deb$  & t r
##C       .deb -> .pfs
##        deb2pfs %p

##=+ f \.rpm$  & t r
##C       .rpm -> .pfs
##        rpm2pfs %p

##=+ f \.pet$  & t r
##C       .pet -> .pfs
##        pet2pfs %f

=+ f \.sfs$ | f \.pfs$ |f \.([iI][sS][oO])$ | f \.[234]fs$ | f \.squashfs$ & t r
M       Монтировать файл в /mnt
	sudo  MC_MNT %f

=+ f \.deb$ | f \.rpm$ & t r
c       Распаковать .deb .rpm
	pkgextract %f 

=+ f initrd.*\.gz$ & t r
c       Распаковать initrd*.gz
	mkdir "`basename %f .gz`"
	cd "`basename %f .gz`"
	zcat ../%f | cpio -i -d

=+ f initrd.*\.lz$ & t r
c       Распаковать initrd*.lz
	mkdir "`basename %f .lz`"
	cd "`basename %f .lz`"
	lzma -dc -S .lz ../%f | cpio -i -d

=+ f initrd.*\.xz$ & t r
c       Распаковать initrd*.xz
	mkdir "`basename %f .xz`"
	cd "`basename %f .xz`"
	xz -dc ../%f | cpio -i -d

=+ f initramfs.*\.img$ & t r
c       Распаковать initramfs*.img
	mkdir "`basename %f .img`"
	cd "`basename %f .img`"
	xz -dc ../%f | cpio -i -d
	file -b ../%f |egrep '^gzip '  > /dev/null && zcat "../%f"   | cpio -i -d 2>/dev/null
	file -b ../%f |egrep '^LZMA '  > /dev/null && lzma -dc -S .ima  "../%f"   | cpio -i -d 2>/dev/null
	file -b ../%f |egrep '^XZ '    > /dev/null && xz -dc "../%f" | cpio -i -d 2>/dev/null


=+ d initrd.* | d initramfs.*
g       Собрать initrd*.gz
	[ -f %d.gz ] && mv %d.gz %d.gz."`date +%%y%%m%%d-%%H%%M`"
	[ "$(echo `basename %d` |egrep '^initramfs')" ] && e=img || e=gz
	find . | cpio -o -H newc | gzip -9 > %d.$e

=+ d initrd.* | d initramfs.*
L       Собрать initrd*.lz
	[ -f %d.lz ] && mv %d.lz %d.lz."`date +%%y%%m%%d-%%H%%M`"
	[ "$(echo `basename %d` |egrep '^initramfs')" ] && e=img || e=lz
	find . | cpio -o -H newc | lzma -7 > %d.$e

=+ d initrd.* | d initramfs.*
G       Собрать initrd*.zst
	[ -f %d.zst ] && mv %d.zst %d.zst."`date +%%y%%m%%d-%%H%%M`"
	[ "$(echo `basename %d` |egrep '^initramfs')" ] && e=img || e=zst
	find . | cpio -o -H newc | zstd -f -18 > %d.$e

=+ d initrd.* | d initramfs.*
l       Собрать initrd*.xz
	[ -f %d.xz ] && mv %d.xz %d.xz."`date +%%y%%m%%d-%%H%%M`"
	[ "$(echo `basename %d` |egrep '^initramfs')" ] && e=img || e=xz
	find . | cpio -o -H newc | xz -T0 --check=crc32 --x86 --lzma2 > %d.$e
#	find . | cpio -o -H newc | xz --check=crc32 --x86 --lzma2 > %d.$e

=+ f configure$ & t r
c       Компиляция. configure
	./%f --prefix=/usr --localstatedir=/var --sysconfdir=/etc --libexecdir=/usr/lib

=+ f Makefile$ & t r
m       Компиляция. new2dir make install
	new2dir make install

d       Сравнение директорий
	diff -rubB "%d" "%D" |less

D       Diff dir by name
	A="`mktemp`"
	B="`mktemp`"
	ls -1 "%d" >$A
	ls -1 "%D" >$B
	diff $A $B |less
	rm $A $B
	
f       Поиск .pfs по файлу
	f=%{Enter regex}
	find /etc/packages/mount -name *.files -type f -exec egrep -H ''$f'' {} \; |less

=+ f \.mo$ & t r
M       .mo -> .po
	[ -f "`basename %f .mo`.po" ] && mv "`basename %f .mo`.po" "`basename %f .mo`.po.bak"
	msgunfmt -o "`basename %f .mo`.po" "%f"

=+ f \.po$ & t r
P       .po -> .mo
	[ -f "`basename %f .po`.mo" ] && mv "`basename %f .po`.mo" "`basename %f .po`.mo.bak"
	msgfmt -o "`basename %f .po`.mo" "%f"
