LINUX.ORG.RU

знатоки шелла, хелп


0

0

Нужно сделать две вещи:

1. файлики типа r.php?x, где x - номер, переименовать в r.phpx
их до хрена, раскиданы по каталогам.

2. Проверить файлики на наличие в них этих же r.php?x и переименовать
соответственно в r.phpx

Как это сделать?

★★★★★

т.е. например r.php?1 в r.php1, а r.php?2 в r.php2 ?

MaR ★★
()

#!/bin/bash

ren() {
while read q; do
name=`echo $q| awk -F "." '{ print $1 }'`
ext=`echo $q| awk -F "." '{ print $2 }'`
ext1=`echo $ext| awk -F "?" '{ print $1 }'`
ext2=`echo $ext| awk -F "?" '{ print $2 }'`
newname="$name.$ext1$ext2"
echo "$q $newname"
mv $q $newname
done
}

ls -1 *.php*|ren

MaR ★★
()

скриптик такой....

MaR ★★
()

1. Если в именах каталогов не встречается '?' - можно так
mv "$file" "${file//\\?/}"
Могу ошибиться на счет количества '\'
2. Тут sed нужен.

DonkeyHot ★★★★★
()

просто запускаешь этот скрипт в каталоге с файлами и он их как нада делает....

MaR ★★
()

Ок, а теперь как бы залезть в эти файлики и внутри них
исправить то же самое?




jackill ★★★★★
() автор топика

Пока что побеждает дружба виндов с линухами -
переименовать я переименовал (еще один способ есть
rename r.php\? r.php r.php???
rename r.php\? r.php r.php??
и т.п.)
А вот внутри файлов чтобы переименовать пришлось лезть в винды
и ставить спец-плагин на фар.
:)

jackill ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.