Я думаю, у вас здесь все перемешано.{}
можно использовать только для поиска, и только один раз.Т.е. вы не можете сделать что-то вроде find -name '*.jpg' -exec mv {} {}.png
.
. Сделайте следующее:
$ cat korv
foo.txt,/hello/
bar.jpg,/mullo/
$ awk -F, '{print $1 " " $2}' korv
foo.txt /hello/
bar.jpg /mullo/
-F устанавливает разделитель, поэтому приведенное выше разделится с помощью ",".Затем добавьте * к именам файлов:
$ awk -F, '{print "*"$1"*" " " $2}' korv
*foo.txt* /hello/
*bar.jpg* /mullo/
**
Это показывает, что у меня есть пустая строка.Нам не нужно это совпадение, поэтому мы добавляем правило:
$ awk -F, '/[a-z]/{print "*"$1"*" " " $2}' korv
*foo.txt* /hello/
*bar.jpg* /mullo/
Хорошо выглядит, поэтому инкапсулируем все это в mv, используя подоболочку:
$ mv $(awk -F, '/[a-z]/{print "*"$1"*" " " $2}' korv)
$
Готово.