Может кто-нибудь помочь мне определить проблему здесь?
#!/bin/sh
find . -name '*ABC*' > replace_temp.file
num_of_lines=`cat replace_temp.file | wc -l`
i=0
while $i<$num_of_lines
do
tc=`expr $i + 1`
line=`tail -$tc replace_temp.file |head -1`
line1=$line
sed -e 's/\(.*\)ABC/\1DEF/' $line
#mv -f $line1 $line
done
#rm -f replace_temp.file
я получаю ошибку replace.sh: line 6: 20: No such file or directory
Цель этого скрипта: поиск и замена всех каталогов файлов, содержащих ABC
в названии, на DEF
он проходит по строкам файла результатов поиска снизу вверх, поэтому проблем с зависимостями dir не будет (например, изменение имени одного каталога приведет к путанице при изменении имени его подчиненного каталога)
спасибо