Это может быть тривиально, но как насчет этого?
ls -hal / |
while IFS=' ' read x x x x five x x x nine etc;
do echo $five $nine;
done
Просто примите во внимание тот факт, что переменные x
, five
, nine
и etc
окажутся в области видимости оболочки sub -...:)
У вас нет возможности разделить содержимое заполнителя, переданного как часть -I
AFAIK, вам нужно ввести контекст оболочки для обработки отдельных аргументов здесь, т.е.
xargs -L1 sh -c 'renaming "$1" to "$2"' "$0"
Флаг -L1
обрабатывает один многострочный вывод, передаваемый в xargs
за раз, а sh -c '..'
запускает содержимое внутри, при этом вся строка передается ему в качестве аргументов.
Кстати, вам не нужна отдельная переменная counter
для отслеживания уникальных номеров строк. Awk уже обновляет номер текущей строки в переменной NR
, которую можно использовать как
gawk '{ print $0 " " strftime("%y-%m-%d") "_" NR ".JPG" }'