Скажем, у меня есть куча файлов с именем примерно так: bsdsa120226.nai bdeqa140223.nai, и я хочу переименовать их в 120226.nai 140223.nai. Как я могу достичь этого, используя сценарий ниже?bash script переименовать несколько файлов
#!/bin/bash
name1=`ls *nai*`
names=`ls *nai*| grep -Po '(?<=.{5}).+'`
for i in $name1
do
for y in $names
do
mv $i $y
done
done
Solution:
name1=`ls *nai*`
for i in $name1
do
y=$(echo "$i" | grep -Po '(?<=.{5}).+')
mv $i $y
done
попробовать это '(<=^. {5}).+ ' –
@AQT, не имеет смысла вставлять _answer_ в ваш вопрос, это как бы разрывает целую концепцию Q & A. Просто примите ответ, который, по вашему мнению, прав. Если никто не был, и у вас есть ответ, _post_ это как ответ и принять его. – paxdiablo