Учитывая, что sudo
/usr/bin/sudo
обычно, Вы не сможете использовать его после выполнения этого chown
команда: sudo
двоичный владелец будет собой, таким образом, Вы не доберетесь root
полномочия при выполнении его в следующий раз.
Не делайте этого.
Вы просто хотите измениться '4' на '0'?
for f in Image4*.jpg
do
# replace Image4 prefix with Image0
newname="Image0${f#Image4}"
mv "$f" "$newname"
done
Или Вы хотите вычесть 400 из числовой части? Или что-то еще?
В соответствии с Linux, для изменения первого 4
в именах файлов к 0
:
rename 4 0 Image4*.jpg
Под Debian, Ubuntu и производными, rename
другая программа переименования файла, которая основана на выражении Perl. Любой вызов rename.ul
вместо этого, или вызов сценарий переименования Perl:
rename 's/4/0/' Image4*.jpg
mv "$f" Image0"${f#Image4}"
намного более быстрый и более безопасный способ сделать это.$( echo | sed )
подход, даже если это работает над именами файлов какImage401.jpg
, не очень устойчиво, поскольку это исказит имена файлов, содержащие нечетные символы или пробелы, и намного медленнее из-за дополнительной временной подоболочки и обрабатывает созданный для каждого файла. – jw013 12.03.2012, 20:44