Непроверенный псевдокод:
i=1
for d in *
do
echo "$d"
echo Enter Y to rename the above directory:
read answer
if [ $answer = "Y" ]
then
mv "$d" tempdir${i}
i=$((i+1))
fi
done
Пример sed, который будет так
sed 's/^\([0-9]*\) [0-9]* *\(\* *\* *\* *\/opt\/tin\/toss.*\)$/\1 * \2/'
это \([0-9]*\)
будет соответствовать первой цифре и сохранит значение в\1
это \(\* *\* *\* *\/opt\/tin\/toss.*\)
будет соответствовать последним 3 звездам в командной строке и сохранит значение в\1
sed '/\/opt\/tin\/toss/ s/^\([^ ]* \+\)[^ ]*\(.*\)$/\1*\2/'
Вы бы прочитали это так:
Там, где есть /opt/tin/toss
, замените шаблон, соответствующий
^
начало строки, за которым следует
\([^ ]* \+\)
первая группа \(
из [^ ]*
любое количество символов до одного или нескольких пробелов \+
и закрытие группы\)
[^ ]*
за которым следует [^ ]*
что угодно до пробела
\(.*\)
за которым следует вторая группа \(.*\)$
совпадающий пробел, за которым следует что угодно до конца
с
/\1*\2/
первая группа, затем *
и вторая группа.