использовать файл с двумя столбцами в качестве переменных внутри команды xargs

Это может быть тривиально, но как насчет этого?

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 -...:)

0
09.11.2021, 09:33
1 ответ

У вас нет возможности разделить содержимое заполнителя, переданного как часть -IAFAIK, вам нужно ввести контекст оболочки для обработки отдельных аргументов здесь, т.е.

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" }'
1
09.11.2021, 09:46

Теги

Похожие вопросы