| /l3/users/6-6-2017/NT-Ladm/debian1.net.nt/user :1 :2 :3 |
|
|
$ls
_1_2_3 ABA ABD __ASTERISK BJEN DIRECTORY1 ERRLOG FILE1 GROUP ISDN_TTYFAX.C MODULES O_'REILLY SORTED UNSORTED 1CDESKTOP ABB ACPI -bad-name- BJON DIRECTORY2 FCNTL.H FILE2 -hello _KIK_MY NEWFILE PASSWD S_TOL_ *?35 ABC ALLOCA.H BJAN CORE.C DIRECTORY3 -file1 FILE3 _HRYPUN KILLALL ONE_SPACE REGEXP.H TERM.H |
|
$touch a.jpeg b.jpeg c.jpeg
|
|
$ls
_1_2_3 ABA ABD ALLOCA.H BJAN b.jpeg DIRECTORY1 ERRLOG FILE1 GROUP ISDN_TTYFAX.C MODULES O_'REILLY SORTED UNSORTED 1CDESKTOP ABB ACPI __ASTERISK BJEN c.jpeg DIRECTORY2 FCNTL.H FILE2 -hello _KIK_MY NEWFILE PASSWD S_TOL_ *?35 ABC a.jpeg -bad-name- BJON CORE.C DIRECTORY3 -file1 FILE3 _HRYPUN KILLALL ONE_SPACE REGEXP.H TERM.H |
|
$cd
|
|
$ls
a.jpg bin file granata.jpg lpi 2 names pics proj source vopr.sh backup b.jpg freebsd.jpg Light_Alloy_4.4.784_RC2_by_FAFNIR.exe man_smb_conf ogo.jpg press_any_key_to_continue.jpg sh text bigfile c.jpg func.sh lpi 1 matrix.jpg pamyatka.pdf prog.sh soft touchlist |
|
$cd names
|
|
$ls
_1_2_3 ABA ABD ALLOCA.H BJAN b.jpeg DIRECTORY1 ERRLOG FILE1 GROUP ISDN_TTYFAX.C MODULES O_'REILLY SORTED UNSORTED 1CDESKTOP ABB ACPI __ASTERISK BJEN c.jpeg DIRECTORY2 FCNTL.H FILE2 -hello _KIK_MY NEWFILE PASSWD S_TOL_ *?35 ABC a.jpeg -bad-name- BJON CORE.C DIRECTORY3 -file1 FILE3 _HRYPUN KILLALL ONE_SPACE REGEXP.H TERM.H |
|
$cd
|
|
$ls
a.jpg bin file granata.jpg lpi 2 names pics proj source vopr.sh backup b.jpg freebsd.jpg Light_Alloy_4.4.784_RC2_by_FAFNIR.exe man_smb_conf ogo.jpg press_any_key_to_continue.jpg sh text bigfile c.jpg func.sh lpi 1 matrix.jpg pamyatka.pdf prog.sh soft touchlist |
|
$~
Переименовано 0 файлов |
|
$vi ~/sh/rn
--- /tmp/l3-saved-9287.9335.10088 2017-06-08 16:04:44.892454141 +0300
+++ /home/user/sh/rn 2017-06-08 16:09:04.412452166 +0300
@@ -21,6 +21,17 @@
fi
done
+
+echo name
+echo $3
+echo fname
+
+
+
+
+
+
+fi
rem=`expr $number % 10`
if [ $rem -eq 1 ] # Постараемся ответить грамматически правильно
then
|
|
$~/sh/rn .jpeg .jpg
name fname /home/user/sh/rn: line 34: syntax error near unexpected token `fi' /home/user/sh/rn: line 34: `fi' |
|
$vi ~/sh/rn
--- /tmp/l3-saved-9287.22268.1615 2017-06-08 16:09:23.512551113 +0300 +++ /home/user/sh/rn 2017-06-08 16:09:56.668453613 +0300 @@ -22,16 +22,16 @@ done -echo name +echo $name echo $3 -echo fname +echo $fname + -fi rem=`expr $number % 10` if [ $rem -eq 1 ] # Постараемся ответить грамматически правильно then |
|
$~/sh/rn .jpeg .jpg
*.jpeg* Переименовано 0 файлов |
|
$~/sh/rn .jpg .jpeg ~/names
Использование: rn old-pattern new-pattern |
|
$~/sh/rn .jpg .jpeg
press_any_key_to_continue.jpg press_any_key_to_continue.jpg Переименовано 8 файлов |
|
$vi ~/sh/rn
--- /tmp/l3-saved-9287.24506.798 2017-06-08 16:11:05.872445272 +0300 +++ /home/user/sh/rn 2017-06-08 16:11:33.148458819 +0300 @@ -1,13 +1,4 @@ #!/bin/bash - -if [ $# -ne 2 ] -then - echo "Использование: `basename $0` old-pattern new-pattern" - # Команда "rn .cpp .C" переименовывает все файлы содержащие в названии .cpp - # в рабочем каталоге на .C -exit 1 -fi - number=0 # Запомнить, сколько файлов было переименовано for name in *$1* #рассматриваем файлы в текущем каталоге |
|
$~/sh/rn .jpg .jpeg
*.jpg* Переименовано 0 файлов |
|
$~/sh/rn .jpg .jpeg ~/names
*.jpg* /home/user/names Переименовано 0 файлов |
|
$vi ~/sh/rn
--- /tmp/l3-saved-9287.31764.16533 2017-06-08 16:12:09.744443486 +0300
+++ /home/user/sh/rn 2017-06-08 16:13:15.916407417 +0300
@@ -5,7 +5,7 @@
do
if [ -f $name ] # Если это файл
then
- fname=`basename $name` # Убрать путь из названия
+ fname=`$name` # Убрать путь из названия
n=`echo $fname | sed -e "s/$1/$2/"` # Заменить в названии $1 на $2
mv $fname $n # Переименовать файл
number=$(($number+1))
|
|
$~/sh/rn .jpg .jpeg ~/names
*.jpg* /home/user/names Переименовано 0 файлов |
|
$ls
a.jpeg bin file granata.jpeg lpi 2 names pics proj source vopr.sh backup b.jpeg freebsd.jpeg Light_Alloy_4.4.784_RC2_by_FAFNIR.exe man_smb_conf ogo.jpeg press_any_key_to_continue.jpeg sh text bigfile c.jpeg func.sh lpi 1 matrix.jpeg pamyatka.pdf prog.sh soft touchlist |
|
$~/sh/rn .jpeg .jpg ~/names
/home/user/sh/rn: line 8: a.jpeg: команда не найдена mv: пропущен операнд, задающий файл Попробуйте «mv --help» для получения более подробного описания. /home/user/sh/rn: line 8: b.jpeg: команда не найдена mv: пропущен операнд, задающий файл Попробуйте «mv --help» для получения более подробного описания. /home/user/sh/rn: line 8: c.jpeg: команда не найдена mv: пропущен операнд, задающий файл Попробуйте «mv --help» для получения более подробного описания. /home/user/sh/rn: line 8: freebsd.jpeg: команда не найдена ... Попробуйте «mv --help» для получения более подробного описания. /home/user/sh/rn: line 8: ogo.jpeg: команда не найдена mv: пропущен операнд, задающий файл Попробуйте «mv --help» для получения более подробного описания. /home/user/sh/rn: line 8: press_any_key_to_continue.jpeg: команда не найдена mv: пропущен операнд, задающий файл Попробуйте «mv --help» для получения более подробного описания. press_any_key_to_continue.jpeg /home/user/names Переименовано 8 файлов |
|
$ls
a.jpeg bin file granata.jpeg lpi 2 names pics proj source vopr.sh backup b.jpeg freebsd.jpeg Light_Alloy_4.4.784_RC2_by_FAFNIR.exe man_smb_conf ogo.jpeg press_any_key_to_continue.jpeg sh text bigfile c.jpeg func.sh lpi 1 matrix.jpeg pamyatka.pdf prog.sh soft touchlist |
|
$~/sh/rn .jpeg .jpg ~/names
/home/user/names a.jpeg b.jpeg c.jpeg freebsd.jpeg granata.jpeg matrix.jpeg ogo.jpeg press_any_key_to_continue.jpeg /home/user/names*.jpeg* /home/user/names Переименовано 0 файлов |
|
$~/sh/rn .jpeg .jpg ~/names
/home/user/names a.jpeg b.jpeg c.jpeg freebsd.jpeg granata.jpeg matrix.jpeg ogo.jpeg press_any_key_to_continue.jpeg Переименовано 0 файлов |
|
$~/sh/rn .jpeg .jpg ~/names
/home/user/names /home/user/names*.jpeg* Переименовано 0 файлов |
|
$~/sh/rn .jpeg .jpg ~/names
/home/user/names /home/user/names/a.jpeg /home/user/names/b.jpeg /home/user/names/c.jpeg /home/user/names /home/user/names/a.jpeg /home/user/names/b.jpeg /home/user/names/c.jpeg /home/user/names /home/user/names/a.jpeg /home/user/names/b.jpeg /home/user/names/c.jpeg Переименовано 3 файла |
|
$~
_1_2_3 ABA ABD ALLOCA.H BJAN b.jpeg DIRECTORY1 ERRLOG FILE1 GROUP ISDN_TTYFAX.C MODULES O_'REILLY SORTED UNSORTED 1CDESKTOP ABB ACPI __ASTERISK BJEN c.jpeg DIRECTORY2 FCNTL.H FILE2 -hello _KIK_MY NEWFILE PASSWD S_TOL_ *?35 ABC a.jpeg -bad-name- BJON CORE.C DIRECTORY3 -file1 FILE3 _HRYPUN KILLALL ONE_SPACE REGEXP.H TERM.H |
|
$vi ~/sh/rn
--- /tmp/l3-saved-9287.30762.16986 2017-06-08 16:23:20.692454076 +0300
+++ /home/user/sh/rn 2017-06-08 16:23:57.404451963 +0300
@@ -4,7 +4,7 @@
for name in $3/*$1* #рассматриваем файлы в текущем каталоге
do
echo $3
-echo $3/*$1*
+echo $name
if [ -f $name ] # Если это файл
then
|
|
$~/sh/rn .jpeg .jpg ~/names
/home/user/names /home/user/names/a.jpeg mv: не удалось выполнить stat для «a.jpeg»: Нет такого файла или каталога /home/user/names /home/user/names/b.jpeg mv: не удалось выполнить stat для «b.jpeg»: Нет такого файла или каталога /home/user/names /home/user/names/c.jpeg mv: не удалось выполнить stat для «c.jpeg»: Нет такого файла или каталога Переименовано 3 файла |
|
$vi ~/sh/rn
|
|
$vi ~/sh/rn
|
|
$jobs
[1]+ Stopped /usr/bin/vi "$@" |
|
$fn %1
l3script: fn: команда не найдена |
|
$fw %1
l3script: fw: команда не найдена |
|
$fg %1
#!/bin/bash
number=0 # Запомнить, сколько файлов было переименовано
for name in $3/*$1* #рассматриваем файлы в текущем каталоге
do
echo $3
echo $name
if [ -f $name ] # Если это файл
then
fname=`basename $name` # Убрать путь из названия
n=`echo $name | sed -e "s/$1/$2/"` # Заменить в названии $1 на $2
...
~
~
~
~
~
~
~
~
"sh/rn" 30L, 958C записано
~
|
|
$vi ~/sh/rn
|
|
$~
/home/user/names /home/user/names/a.jpeg /home/user/names /home/user/names/b.jpeg /home/user/names /home/user/names/c.jpeg Переименовано 3 файла |
|
$ls ~/names
_1_2_3 ABA ABD ALLOCA.H BJAN b.jpg DIRECTORY1 ERRLOG FILE1 GROUP ISDN_TTYFAX.C MODULES O_'REILLY SORTED UNSORTED 1CDESKTOP ABB ACPI __ASTERISK BJEN c.jpg DIRECTORY2 FCNTL.H FILE2 -hello _KIK_MY NEWFILE PASSWD S_TOL_ *?35 ABC a.jpg -bad-name- BJON CORE.C DIRECTORY3 -file1 FILE3 _HRYPUN KILLALL ONE_SPACE REGEXP.H TERM.H |
|
$~/sh/rn .jpg .jpeg ~/names
/home/user/names /home/user/names/a.jpg /home/user/names /home/user/names/b.jpg /home/user/names /home/user/names/c.jpg Переименовано 3 файла |
|
$~/sh/rn .jpg .jpeg
Переименовано 0 файлов |
|
$~/sh/rn .jpg .jpeg ~/names
Переименовано 0 файлов |
|
$~/sh/rn .jpeg .jpg ~/names
Переименовано 3 файла |
|
$ls ~/names
_1_2_3 ABA ABD ALLOCA.H BJAN b.jpg DIRECTORY1 ERRLOG FILE1 GROUP ISDN_TTYFAX.C MODULES O_'REILLY SORTED UNSORTED 1CDESKTOP ABB ACPI __ASTERISK BJEN c.jpg DIRECTORY2 FCNTL.H FILE2 -hello _KIK_MY NEWFILE PASSWD S_TOL_ *?35 ABC a.jpg -bad-name- BJON CORE.C DIRECTORY3 -file1 FILE3 _HRYPUN KILLALL ONE_SPACE REGEXP.H TERM.H |
|
$vi ~/sh/rn
--- /tmp/l3-saved-9287.2315.28291 2017-06-08 16:33:22.596454245 +0300
+++ /home/user/sh/rn 2017-06-08 16:43:37.168454234 +0300
@@ -1,15 +1,27 @@
#!/bin/bash
number=0 # Запомнить, сколько файлов было переименовано
+if [ $# -eq 2 ]
+then
+ for name in *$1*
+ do
+ if [ -f $name ]
+ then
+ fname=`basename $name`
+ n=`echo $fname | sed -e "s/$1/$2/"`
+ mv $fname $n
+ number=((number+1))
+ fi
+fi
-if [ $3 ]
+if [ $# -eq 3 ]
then
- for name in $3/*$1* #рассматриваем файлы в текущем каталоге
+ for name in $3/*$1*
do
- if [ -f $name ] # Если это файл
+ if [ -f $name ]
then
- n=`echo $name | sed -e "s/$1/$2/"` # Заменить в названии $1 на $2
- mv $name $n # Переименовать файл
+ n=`echo $name | sed -e "s/$1/$2/"`
+ mv $name $n
number=$(($number+1))
fi
done
|
|
$ls
a.jpg bin file granata.jpeg lpi 2 names pics proj source vopr.sh backup b.jpg freebsd.jpeg Light_Alloy_4.4.784_RC2_by_FAFNIR.exe man_smb_conf ogo.jpeg press_any_key_to_continue.jpeg sh text bigfile c.jpg func.sh lpi 1 matrix.jpeg pamyatka.pdf prog.sh soft touchlist |
|
$~/sh/rn .jpg .jpeg ~/names
/home/user/sh/rn: line 13: syntax error near unexpected token `('
/home/user/sh/rn: line 13: ` number=((number+1))'
/home/user/sh/rn: line 14: syntax error near unexpected token `fi'
/home/user/sh/rn: line 14: ` fi'
|
|
$~/sh/rn .jpg .jpeg ~/names
/home/user/sh/rn: line 13: syntax error near unexpected token `('
/home/user/sh/rn: line 13: ` number=((number+1))'
/home/user/sh/rn: line 14: syntax error near unexpected token `fi'
/home/user/sh/rn: line 14: ` fi'
|
|
$~/sh/rn .jpg .jpeg ~/names
/home/user/sh/rn: line 15: syntax error near unexpected token `fi' /home/user/sh/rn: line 15: `fi' |
|
$~/sh/rn .jpg .jpeg ~/names
Переименовано 3 файла |
|
$ls ~/names
_1_2_3 ABA ABD ALLOCA.H BJAN b.jpeg DIRECTORY1 ERRLOG FILE1 GROUP ISDN_TTYFAX.C MODULES O_'REILLY SORTED UNSORTED 1CDESKTOP ABB ACPI __ASTERISK BJEN c.jpeg DIRECTORY2 FCNTL.H FILE2 -hello _KIK_MY NEWFILE PASSWD S_TOL_ *?35 ABC a.jpeg -bad-name- BJON CORE.C DIRECTORY3 -file1 FILE3 _HRYPUN KILLALL ONE_SPACE REGEXP.H TERM.H |
|
$~/sh/rn .jpeg .jpg ~/names
Переименовано 3 файла |
|
$ls ~
a.jpg bin file granata.jpeg lpi 2 names pics proj source vopr.sh backup b.jpg freebsd.jpeg Light_Alloy_4.4.784_RC2_by_FAFNIR.exe man_smb_conf ogo.jpeg press_any_key_to_continue.jpeg sh text bigfile c.jpg func.sh lpi 1 matrix.jpeg pamyatka.pdf prog.sh soft touchlist |
|
$~/sh/rn .jpg .jpeg
Переименовано 3 файла |
|
$ls ~
a.jpeg bin file granata.jpeg lpi 2 names pics proj source vopr.sh backup b.jpeg freebsd.jpeg Light_Alloy_4.4.784_RC2_by_FAFNIR.exe man_smb_conf ogo.jpeg press_any_key_to_continue.jpeg sh text bigfile c.jpeg func.sh lpi 1 matrix.jpeg pamyatka.pdf prog.sh soft touchlist |
|
$~
#!/bin/bash
number=0 # Запомнить, сколько файлов было переименовано
if [ $# -eq 2 ]
then
for name in *$1*
do
if [ -f $name ]
then
fname=`basename $name`
n=`echo $fname | sed -e "s/$1/$2/"`
...
then
echo "Переименован $number файл."
else
if [ $rem -gt 1 -a $rem -lt 5 ]
then
echo "Переименовано $number файла"
else
echo "Переименовано $number файлов"
fi
fi
|
|
$ls
a.jpeg bin file granata.jpeg lpi 2 names pics proj source vopr.sh backup b.jpeg freebsd.jpeg Light_Alloy_4.4.784_RC2_by_FAFNIR.exe man_smb_conf ogo.jpeg press_any_key_to_continue.jpeg sh text bigfile c.jpeg func.sh lpi 1 matrix.jpeg pamyatka.pdf prog.sh soft touchlist |
|
$cd sh
|
|
|